Function at 0x55bd40
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0xb8
xor eax, eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x80], eax
push esi
push edi
mov edi, edx
mov dword [ebp - 0x40], 0
mov edx, dword [ebx + 0xc]
mov esi, ecx
mov dword [ebp - 4], esi
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xa0], 0
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x94], eax
mov eax, dword [edx]
mov ecx, dword [edx + 0x7c]
mov dword [ebp - 8], ecx
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x90], eax
xor eax, eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0xc], eax
mov eax, edi
shr eax, 0x13
and eax, 1
mov dword [ebp - 0x58], eax
mov eax, edi
shr eax, 2
and eax, 1
mov dword [ebp - 0x8c], eax
mov eax, dword [edx + 0x20]
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x24], eax
test dl, 8
je 0x55be02
mov dword ds:[ecx], 0x80090000
jmp 0x55be0d
test dl, 4
je 0x55be1d
mov dword [ecx], 0x80180005
mov dword [ecx + 4], 0x801a0000
add ecx, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ecx
lea ecx, [ecx]
test edi, 0x2000000
je 0x55bf9a
mov edi, dword [ebp - 8]
cmp esi, eax
jae 0x55bf0b
jmp 0x55be40
cmp edi, dword [ebp - 0x98]
jae 0x55ea6c
cmp dword [ebp - 0x58], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], edx
je 0x55be91
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55be8e
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp - 4], eax
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x8c], 0
je 0x55befb
mov eax, dword [ebp - 0x68]
mov ecx, edi
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x68], eax
test eax, eax
je 0x55becf
mov eax, esi
sub eax, dword [edx + 0x1c]
mov edx, dword [ebp - 0x68]
sar eax, 1
sub eax, dword [edx + 4]
mov dword [edx + 8], eax
lea eax, [edi - 0x10]
cmp edx, eax
mov edx, dword [ebx + 0xc]
jne 0x55becf
mov eax, dword [ebp - 0x68]
cmp dword [eax + 0xc], 0xff
je 0x55beeb
mov eax, edi
mov dword [edi], 0x80060000
mov dword [ebp - 0x68], eax
lea ecx, [edi + 0x10]
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0xff
sub esi, dword [edx + 0x1c]
mov edi, ecx
sar esi, 1
mov dword [eax + 4], esi
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov dword [edi], ecx
add edi, 4
mov esi, dword [ebp - 4]
cmp esi, eax
jb 0x55be40
cmp dword [ebp - 0x68], 0
mov ecx, edi
mov edx, esi
je 0x55bf2b
mov esi, dword [ebx + 0xc]
mov eax, edx
sub eax, dword [esi + 0x1c]
mov esi, dword [ebp - 0x68]
sar eax, 1
sub eax, dword [esi + 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x8c], 0
je 0x55bf74
mov esi, dword [ebp - 0x68]
test esi, esi
je 0x55bf4d
lea eax, ds:[edi - 0x10]
cmp esi, eax
jne 0x55bf4d
cmp dword [esi + 0xc], 0xff
je 0x55bf66
mov esi, edi
mov dword [edi], 0x80060000
lea ecx, [edi + 0x10]
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0xff
mov eax, dword [ebx + 0xc]
sub edx, dword [eax + 0x1c]
sar edx, 1
mov dword [esi + 4], edx
mov esi, dword [ebp - 4]
mov eax, dword ds:[ebp - 0x90]
test al, 8
je 0x55ea45
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x55ea5a
mov ecx, dword [ebx + 0xc]
xor eax, eax
mov dword [ebp - 0x4c], eax
xor edx, edx
mov dword [ebp - 0x2c], 0xc
mov eax, dword [ecx + 0x28]
add eax, eax
mov dword [ebp - 0x88], eax
div dword [ebp - 0x2c]
mov eax, dword [ebp - 0x88]
sub eax, edx
mov edx, edi
add eax, dword [ecx + 0x14]
or edx, 0x80
test edi, 0x1000000
mov dword [ebp - 0x88], eax
cmove edx, edi
mov edi, dword [ebp - 8]
mov dword [ebp - 0x44], edx
cmp esi, dword [ebp - 0x24]
jae 0x55bf0b
mov edx, dword [0x5f2f80]
mov dword [ebp - 0x20], edx
mov esi, dword ds:[ebp - 0x3c]
lfence
cmp edi, dword [ebp - 0x98]
jae 0x55ea33
mov ecx, dword [ecx]
movzx eax, si
cmp eax, dword [ecx + 0x20]
ja 0x55ea26
cmp dword [ebp - 0x58], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x38], eax
movzx edx, word [eax]
lea esi, [eax + 2]
mov dword [ebp - 0x30], edx
mov ecx, edx
mov dword [ebp - 4], esi
mov edi, esi
je 0x55c06d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55c06d
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [ebp - 0x30], edx
mov ecx, edx
mov dword [ebp - 4], esi
mov edi, esi
cmp dword [ebp - 0x6c], 0
je 0x55c134
cmp ecx, 0x5c
jne 0x55c0c5
lea esp, [esp]
cmp edi, dword [ebp - 0x24]
jae 0x55c0c5
cmp word [esi], 0x45
jne 0x55c0c5
mov dword [ebp - 0x6c], 0
add esi, 2
mov dword [ebp - 4], esi
mov edi, dword [ebp - 8]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x3c]
movzx eax, ax
cmp esi, dword [ebp - 0x24]
jb 0x55bff3
mov dword [ebp - 0x3c], eax
test edx, edx
je 0x55bf0b
mov ecx, 0xa0
jmp 0x55ea9c
cmp dword [ebp - 0x7c], 0
jg case.0x55c564.34
cmp dword [ebp - 0xc], 0
je 0x55c0da
mov edi, dword [ebp - 8]
jmp 0x55c11d
mov ecx, dword [ebp - 0x84]
mov eax, ecx
dec ecx
mov dword [ebp - 0x84], ecx
test eax, eax
jg 0x55c113
mov esi, dword [ebx + 0xc]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x38]
push esi
push edx
push dword [ebp - 0x8c]
lea edx, [ebp - 0x80]
call fcn.0055bcc0
mov edx, dword [ebp - 0x30]
mov edi, eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x68], eax
jmp 0x55c116
mov edi, dword [ebp - 8]
mov dword [ebp - 0x40], 1
mov dword [edi], edx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 0x70], 0
mov dword [ebp - 8], edi
jmp 0x55c09b
cmp dword [ebp - 0xc], 0
je 0x55c2b1
mov edi, dword [ebp - 0x44]
mov eax, edi
and eax, 0x400080
cmp eax, 0x400080
jne 0x55c1ae
cmp ecx, 0xff
jbe 0x55c16e
mov eax, edx
or eax, 1
cmp eax, 0x200f
je 0x55c16e
cmp eax, 0x2029
jne 0x55c1ae
mov ecx, dword [ebx + 0xc]
cmp edx, 0x100
jae 0x55c2b4
lea ecx, [ecx]
cmp edx, 0x23
je 0x55c2b4
mov eax, dword [ecx + 0x10]
test byte [edx + eax], 1
jne 0x55c2b4
jmp 0x55c1a0
cmp edx, 0x85
je 0x55c2b4
jmp 0x55c1b1
mov ecx, dword [ebx + 0xc]
cmp edx, 0x29
je 0x55c25c
cmp edx, 0x5c
je 0x55c1d2
mov edi, dword [ebp - 8]
mov dword [edi], edx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09b
test edi, 0x400000
je 0x55c1bf
mov eax, dword [ecx]
mov edx, dword [ebp - 0x24]
push ecx
push 0
push dword [eax + 0x24]
lea eax, [ebp - 0x34]
push edi
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 4]
call fcn.0055ac40
mov ecx, dword ds:[ebp - 0x34]
test ecx, ecx
jne 0x55ea2b
sub eax, ecx
je 0x55c23e
sub eax, 0x19
je 0x55e389
mov esi, dword ds:[ebp - 4]
sub eax, 1
jne 0x55e86b
mov ecx, dword [0x5f2f80]
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x20], ecx
jmp 0x55c098
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0x30]
mov eax, dword [0x5f2f80]
mov dword [ebp - 0x20], eax
mov dword [edi], edx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09b
mov eax, esi
xor edx, edx
sub eax, dword [ebp - 0xa0]
sar eax, 1
dec eax
mov dword [ebp - 0xc], edx
cmp eax, 0xffff
jg 0x55e875
mov edi, dword [ebp - 8]
mov eax, edi
mov ecx, dword [ebp - 0x9c]
sub eax, ecx
sar eax, 2
dec eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebx + 0xc]
test eax, eax
je 0x55cb4a
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
mov dword [ebp - 0x94], edx
jmp 0x55c0a1
mov ecx, dword [ebx + 0xc]
mov edi, dword [ebp - 0x24]
cmp edx, 0x5c
jne 0x55c2e5
lea esp, [esp]
cmp esi, edi
jae 0x55c2e5
movzx eax, word [esi]
cmp eax, 0x51
je 0x55c2d1
cmp eax, 0x45
jne 0x55c2e5
xor edx, edx
cmp eax, 0x51
sete dl
mov dword [ebp - 0x6c], edx
jmp 0x55c092
test byte [ebp - 0x44], 0x80
je 0x55c40e
cmp edx, 0x100
jae 0x55c306
mov eax, dword ds:[ecx + 0x10]
test byte [edx + eax], 1
jne 0x55c098
cmp edx, 0x85
je 0x55c098
mov eax, edx
or eax, 1
cmp eax, 0x200f
je 0x55c098
cmp eax, 0x2029
je 0x55c098
cmp edx, 0x23
jne 0x55c40e
nop
cmp esi, edi
jae 0x55c098
jmp 0x55c350
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x90]
lea edi, [eax + 0x94]
mov ecx, dword [eax + 0x20]
test edx, edx
je 0x55c38e
cmp esi, ecx
jae 0x55c382
push dword [ebp - 0x58]
push edi
push ecx
mov ecx, esi
call fcn.00579a20
test eax, eax
je 0x55c382
mov eax, 1
jmp 0x55c384
xor eax, eax
test eax, eax
jne 0x55c404
jmp 0x55c3bb
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x55c3bb
mov ecx, dword ds:[ebx + 0xc]
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x55c3bb
cmp edx, 1
je 0x55c404
mov ax, word [esi + 2]
cmp ax, word [ecx + 0xa2]
je 0x55c3fe
mov edi, dword [ebp - 0x24]
add esi, 2
cmp dword [ebp - 0x58], 0
mov eax, esi
mov dword [ebp - 4], esi
je 0x55c3f1
cmp esi, edi
jae 0x55c3f1
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x55c350
add esi, 2
mov dword [ebp - 4], esi
mov eax, esi
cmp eax, edi
jb 0x55c350
jmp 0x55c098
lea edi, [ecx + 0x94]
mov eax, dword [edi]
lea esi, [esi + eax*2]
jmp 0x55c095
cmp edx, 0x28
jne 0x55c465
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x55c4b7
cmp word [esi], 0x3f
jne 0x55c4b7
cmp word [esi + 2], 0x23
jne 0x55c4b7
lea ebx, [ebx]
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x55c458
cmp word [esi], 0x29
jne 0x55c440
cmp esi, edi
jb 0x55c092
mov ecx, 0x76
jmp 0x55ea9c
cmp edx, 0x2a
je 0x55c4f4
cmp edx, 0x2b
je 0x55c4f4
jmp 0x55c480
cmp edx, 0x3f
je 0x55c4f4
cmp edx, 0x7b
jne 0x55c4b7
lea eax, ds:[ebp - 0x34]
mov dword [ebp - 0x74], esi
push eax
push 0
push 0
mov edx, edi
lea ecx, [ebp - 0x74]
call fcn.0055ab20
mov esi, dword [ebp - 4]
test eax, eax
mov eax, dword [0x5f2f80]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
jne 0x55c4f4
mov ecx, dword [ebp - 0x84]
mov eax, ecx
dec ecx
mov dword [ebp - 0x84], ecx
test eax, eax
jg 0x55c4f4
push dword ds:[ebx + 0xc]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x38]
push edx
push dword [ebp - 0x8c]
lea edx, [ebp - 0x80]
call fcn.0055bcc0
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
jle case.0x55c564.33
nop
cmp edx, 0x28
jne case.0x55c564.34
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x55c564.34
movzx eax, word [esi]
cmp eax, 0x3f
je 0x55c52b
cmp eax, 0x2a
je 0x55c531
sub esi, 2
mov ecx, 0x80
jmp 0x55ea9c
cmp word [esi], 0x2a
jne 0x55c551
movzx eax, word [esi + 2]
mov ecx, 0xff
cmp ax, cx
ja 0x55c54d
mov ecx, eax
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x10]
test byte [ecx + eax], 4
jne case.0x55c564.33
xor eax, eax
jmp 0x55c58a
movzx eax, word [esi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x55c564.34
movzx eax, byte [eax + 0x55eac4]
jmp dword [eax*4 + 0x55eab4]
xor eax, eax
cmp ecx, 2
sete al
jmp 0x55c58a
movzx eax, word [esi + 4]
cmp eax, 0x3d
je 0x55c585
mov edi, edi
cmp eax, 0x21
jne case.0x55c564.34
mov eax, 1
test eax, eax
je case.0x55c564.34
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x70]
mov edi, eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x70], 0
test eax, eax
je 0x55c5f7
cmp edx, 0x3f
je 0x55c5c5
lea ecx, [ecx]
cmp edx, 0x2b
jne 0x55c5f7
cmp edx, 0x3f
mov ecx, 0x10000
mov edx, 0x20000
cmove ecx, edx
add ecx, eax
xor eax, eax
cmp edi, 0x803d0000
mov edi, dword [ebp - 8]
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + edi], ecx
mov esi, dword [ebp - 4]
jmp 0x55c09b
lea eax, ds:[edx - 0x24]
cmp eax, 0x58
ja case.0x55c610.37
movzx eax, byte [eax + 0x55eb1c]
jmp dword [eax*4 + 0x55eae8]
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 4]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x74], esi
mov esi, dword [ebx + 0xc]
push esi
push 0
mov eax, dword [esi]
push dword [eax + 0x24]
lea eax, [ebp - 0x34]
push dword [ebp - 0x44]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0055ac40
mov ecx, dword [ebp - 0x34]
mov edi, eax
test ecx, ecx
jne 0x55c68a
test edi, edi
je 0x55c9b2
js 0x55c956
lea eax, ds:[edi - 6]
cmp eax, 0x16
ja case.0x55c670.13
movzx eax, byte [eax + 0x55eb90]
jmp dword [eax*4 + 0x55eb78]
test dword ds:[ebp - 0x44], 0x100000
je case.0x55c670.12
mov ecx, 0xb7
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
test byte [ebp - 0x90], 2
je 0x55ea9c
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 4], eax
cmp eax, edx
jb 0x55c9c6
mov edi, dword ds:[ebp - 8]
mov ecx, 0x5c
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x40], 1
mov dword [edi], ecx
jmp 0x55c6d4
mov dword [ebp - 0x40], 1
lea eax, [edi - 0x7fe80000]
mov edi, dword [ebp - 8]
mov dword [edi], eax
mov edx, dword [0x5f2f80]
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
jmp 0x55c09b
xor eax, eax
lea edx, [ebp - 0xac]
lfence
mov word [ebp - 0x60], ax
lea ecx, [ebp - 4]
mov word [ebp - 0x20], ax
lea eax, [ebp - 0x34]
push esi
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0055b4e0
test eax, eax
je 0x55c88d
cmp dword [ebp - 0xac], 0
je 0x55c72f
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
movzx ecx, word [ebp - 0x60]
lea eax, [edi - 0x7fe80000]
mov edi, dword [ebp - 8]
shl ecx, 0x10
mov dword [edi], eax
movzx eax, word [ebp - 0x20]
or ecx, eax
mov dword [edi + 4], ecx
add edi, 8
mov edx, dword [0x5f2f80]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x40], 1
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
jmp 0x55c09b
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
cmp esi, edx
jae 0x55c895
movzx ecx, word [esi]
cmp ecx, 0x7b
je 0x55c792
mov edi, edi
cmp ecx, 0x3c
je 0x55c80e
cmp ecx, 0x27
jne 0x55c895
cmp ecx, 0x27
mov eax, 0x7d
mov ecx, 0x27
cmove eax, ecx
mov dword [ebp - 0x28], eax
cmp edi, 0x1b
jne 0x55c833
cmp eax, 0x7d
je 0x55c833
lfence
mov esi, dword [ebp - 4]
lea ecx, [ebp - 0x38]
lea eax, [esi + 2]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebx + 0xc]
push 0xa1
push 0xffff
push dword [eax + 0x74]
call fcn.0055a9a0
test eax, eax
je 0x55c825
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x24]
cmp ecx, edx
jae 0x55c815
movzx eax, word [ecx]
cmp eax, dword [ebp - 0x28]
jne 0x55c815
mov eax, dword [0x5f2f80]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 4], ecx
jmp 0x55e43f
mov eax, 0x3e
jmp 0x55c7a2
mov ecx, 0x9d
mov dword [ebp - 0x34], ecx
jmp 0x55c690
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x55c68d
mov edx, dword [ebp - 0x24]
push dword [ebx + 0xc]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
push eax
lfence
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 4]
push esi
push dword [ebp - 0x58]
call fcn.0055ba40
test eax, eax
je 0x55c88d
lea esp, [esp]
cmp edi, 0x1c
je 0x55c86f
mov eax, 0x80210000
cmp esi, 0x7d
jne 0x55c874
mov eax, 0x80040000
mov edi, dword [ebp - 8]
mov dword [edi], eax
mov eax, dword [ebp - 0x50]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x5c]
mov dword [edi + 8], eax
add edi, 0xc
jmp 0x55c74d
mov ecx, dword [ebp - 0x34]
jmp 0x55c68a
cmp edi, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [ebp - 0x34], ecx
jmp 0x55c690
test dword [ebp - 0x44], 0x20000
mov dword [ebp - 0x40], 1
jne 0x55c8df
mov edx, dword [0x5f2f80]
lea eax, [edi - 0x7fe80000]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x20], edx
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09b
nop
cmp edi, 7
je 0x55c8f4
cmp edi, 9
je 0x55c8f4
mov eax, 0x8018000f
cmp edi, 0xb
jne 0x55c8f9
mov eax, 0x80180010
mov edx, dword [ebp - 8]
add edi, 0xfffffffa
mov dword [edx], eax
add edx, 4
mov dword [ebp - 8], edx
cmp edi, 5
ja case.default.0x55c90c
jmp dword [edi*4 + 0x55eba8]
mov edi, dword ds:[ebp - 8]
mov dword [edi], 0x3000d
jmp 0x55c6d4
mov edi, dword [ebp - 8]
mov dword [edi], 0x70000
jmp 0x55c6d4
mov edi, dword ds:[ebp - 8]
mov dword [edi], 0x90000
jmp 0x55c6d4
mov edx, dword [0x5f2f80]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x20], edx
jmp 0x55c098
mov edx, dword [ebp - 8]
neg edi
mov ecx, dword [ebp - 4]
mov eax, edi
sub ecx, dword [esi + 0x1c]
or eax, 0x80030000
sar ecx, 1
dec ecx
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 8], edx
cmp edi, 0xa
jge 0x55c9a5
cmp dword [esi + edi*4 + 0x2c], 0xffffffff
jne 0x55c986
mov dword [esi + edi*4 + 0x2c], ecx
mov edi, dword [ebp - 8]
mov edx, dword [0x5f2f80]
mov esi, dword ds:[ebp - 4]
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x20], edx
jmp 0x55c09b
mov edi, dword [ebp - 8]
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
jmp 0x55c989
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x40], 1
mov dword [edi], ecx
jmp 0x55c6d4
cmp dword [ebp - 0x58], 0
lea esi, [eax + 2]
movzx ecx, word [eax]
mov edx, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], esi
je 0x55ca0b
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55ca0b
movzx ecx, word [esi]
lea eax, [esi + 2]
and edx, 0x3ff
mov dword [ebp - 4], eax
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add ecx, 0x10000
mov dword [ebp - 0x30], ecx
mov edi, dword [ebp - 8]
mov dword [ebp - 0x40], 1
mov dword [edi], ecx
jmp 0x55c6d4
mov edi, dword [ebp - 8]
mov dword [edi], 0x80090000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09b
mov edi, dword [ebp - 8]
mov dword [edi], 0x80160000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09b
mov edi, dword [ebp - 8]
mov dword [ebp - 0x40], 1
mov dword [edi], 0x80170000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09b
mov dword [ebp - 0x70], 0x80340000
jmp 0x55cadb
mov dword ds:[ebp - 0x70], 0x80370000
jmp 0x55cadb
mov dword [ebp - 0x70], 0x803a0000
jmp 0x55cadb
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 4]
call fcn.0055ab20
test eax, eax
jne 0x55cac9
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x55ea2b
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], 1
jmp 0x55c6cf
mov eax, dword [0x5f2f80]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x70], 0x803d0000
mov dword [ebp - 0x20], eax
cmp dword ds:[ebp - 0x2c], 0
je 0x55e885
mov edi, dword [ebp - 8]
cmp dword [edi - 4], 0x802a0000
lea ecx, [edi - 4]
jne 0x55cb1c
mov edx, dword [ebp - 0x78]
cmp ecx, edx
jb 0x55cb0c
lea esp, [esp]
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x55cb00
mov dword [edx], 0x801a0000
mov dword [edi + 4], 0x80190000
add edi, 8
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0xc]
mov dword [edi], eax
add edi, 4
cmp dword [ebp - 0x30], 0x7b
mov dword [ebp - 8], edi
jne 0x55cb4a
mov eax, dword [ebp - 0xb0]
mov dword [edi], eax
mov eax, dword [ebp - 0xb4]
mov dword [edi + 4], eax
add edi, 8
mov dword [ebp - 8], edi
mov esi, dword [ebp - 4]
jmp 0x55c0a1
mov edi, dword [ebp - 0x24]
mov eax, edi
sub eax, esi
mov dword [ebp - 0x40], 1
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x55cc50
mov dword [ebp - 0x38], 6
mov edi, 0x61abf8
mov eax, esi
lea ebx, [ebx]
movzx ecx, word [eax]
lea edi, [edi + 1]
add eax, 2
mov dword [ebp - 0x2c], eax
movsx ax, byte [edi - 1]
movzx eax, ax
cmp cx, ax
jne 0x55cba4
sub dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x2c]
jne 0x55cb80
jmp 0x55cbd8
mov dword [ebp - 0x38], 6
mov edi, str._:_:__
mov eax, esi
movzx ecx, word [eax]
lea edi, [edi + 1]
add eax, 2
mov dword [ebp - 0x2c], eax
movsx ax, byte [edi - 1]
movzx eax, ax
cmp cx, ax
jne 0x55cc4d
sub dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x2c]
jne 0x55cbb2
mov edx, dword [ebp - 8]
mov dword [edx], 0x80180005
lea ecx, [edx + 8]
mov eax, dword [ebp - 4]
cmp word [eax + 4], 0x3c
jne 0x55cbf7
mov dword [edx + 4], 0x80230000
jmp 0x55cc10
mov eax, dword [ebx + 8]
mov dword [edx + 4], 0x80250000
mov dword [ecx], 0
add ecx, 4
mov dword [eax], 1
test dword [ebp - 0x44], 0x20000
lea edi, [ecx + 4]
jne 0x55cc24
mov dword [ecx], 0x8018000b
jmp 0x55cc33
mov dword [ecx], 0x80180010
mov dword [edi], 0x90000
add edi, 4
mov dword [edi], 0x80190000
add edi, 4
mov esi, dword [ebp - 4]
add esi, 0xc
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x55c09b
mov edi, dword [ebp - 0x24]
cmp esi, edi
jae 0x55cc8b
movzx eax, word [esi]
cmp eax, 0x3a
je 0x55cc6a
lea esp, [esp]
cmp eax, 0x2e
je 0x55cc6a
cmp eax, 0x3d
jne 0x55cc8b
lfence
mov esi, dword [ebp - 4]
lea eax, [ebp - 0x74]
push eax
mov edx, edi
mov ecx, esi
call fcn.0055b9a0
lea ecx, [ecx]
test eax, eax
jne 0x55e892
mov edx, dword [ebp - 0x30]
xor eax, eax
mov dword [ebp - 0x28], eax
cmp esi, edi
jae 0x55cd8c
jmp 0x55cca0
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x58], 0
mov edi, edx
mov dword [ebp - 0x60], edx
mov ecx, esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 4], esi
je 0x55ccf3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55ccf0
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [ebp - 0x60], edx
mov edi, edx
mov dword [ebp - 0x30], edx
mov ecx, esi
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x28]
cmp edi, 0x5c
jne 0x55cd5c
mov eax, dword [ebp - 0x24]
mov edi, ecx
mov edx, ecx
cmp ecx, eax
jae 0x55cd1b
cmp word [esi], 0x45
jne 0x55cd1b
mov eax, dword [ebp - 0x28]
lea esi, [ecx + 2]
mov dword [ebp - 4], esi
jmp 0x55cd80
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl 0x55cd89
mov dword [ebp - 0x38], 3
mov edi, 0x61ac08
movsx ax, byte [edi]
lea edx, [edx + 2]
movzx ecx, word [edx - 2]
lea edi, [edi + 1]
movzx eax, ax
cmp cx, ax
jne 0x55cd89
sub dword [ebp - 0x38], 1
jne 0x55cd35
mov eax, dword [ebp - 0x28]
add esi, 6
mov dword [ebp - 4], esi
jmp 0x55cd80
test dword [ebp - 0x44], 0x1000000
je 0x55cd6f
cmp edi, 0x20
je 0x55cd80
cmp edi, 9
je 0x55cd80
test eax, eax
jne 0x55cd89
cmp edx, 0x5e
jne 0x55cd89
mov eax, 1
mov dword [ebp - 0x28], eax
cmp esi, dword [ebp - 0x24]
jb 0x55cca0
mov edx, dword [ebp - 0x60]
cmp edx, 0x5d
jne 0x55cdbe
mov ecx, dword [ebx + 0xc]
test byte [ecx + 0x6c], 1
je 0x55cdbe
mov edi, dword [ebp - 8]
mov eax, 0x800b0000
cmp dword [ebp - 0x28], 0
mov edx, 0x800c0000
cmovne eax, edx
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09e
cmp dword [ebp - 0x28], 0
mov ecx, 0x800e0000
mov edx, dword [ebp - 8]
mov eax, 0x800a0000
cmovne eax, ecx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x40], 1
mov dword [edx], eax
add edx, 4
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 8], edx
jmp 0x55cdf6
mov edx, dword [ebp - 8]
mov edi, 1
test eax, eax
je 0x55cec9
cmp ecx, 0x5c
jne 0x55d0be
cmp esi, dword [ebp - 0x24]
jae 0x55d0be
cmp word ds:[esi], 0x45
jne 0x55d0be
add esi, 2
mov dword [ebp - 0x6c], 0
mov dword [ebp - 4], esi
mov edi, dword [ebp - 8]
cmp esi, dword [ebp - 0x24]
jae 0x55e8ec
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x58], 0
mov edx, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], esi
je 0x55ce8b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55ce8b
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebp - 0x30], ecx
mov edx, ecx
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x6c]
cmp edx, 0x5d
jne 0x55cdf3
test eax, eax
jne 0x55cdf3
cmp dword [ebp - 0x28], 1
jne 0x55ceac
mov dword [edi - 4], 0x2d
mov ecx, dword [0x5f2f80]
mov dword [edi], 0x800d0000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], ecx
jmp 0x55c09b
test dword [ebp - 0x44], 0x1000000
je 0x55cee9
cmp ecx, 0x20
je 0x55ce33
jmp 0x55cee0
cmp ecx, 9
je 0x55ce33
cmp ecx, 0x5b
jne 0x55d0e8
mov eax, dword ds:[ebp - 0x24]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl 0x55d0be
movzx eax, word [esi]
cmp eax, 0x3a
je 0x55cf1f
cmp eax, 0x2e
je 0x55cf1f
cmp eax, 0x3d
jne 0x55d0be
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x74]
lfence
mov esi, dword [ebp - 4]
mov ecx, esi
push eax
call fcn.0055b9a0
test eax, eax
je 0x55d0b8
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x28], edi
je 0x55e8d5
cmp word [esi], 0x3a
jne 0x55e8a8
add esi, 2
mov dword [ebp - 4], esi
mov eax, esi
cmp word [esi], 0x5e
jne 0x55cf6e
add esi, 2
mov dword [ebp - 0x20], edi
mov dword [ebp - 4], esi
mov eax, esi
mov ecx, dword [ebp - 0x74]
mov edi, 0x5d6dc0
sub ecx, eax
mov dword [ebp - 0x28], edi
sar ecx, 1
mov al, 5
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x38], edx
mov byte [ebp - 0x5d], al
lea ebx, [ebx]
movzx eax, al
cmp ecx, eax
jne 0x55cfd4
mov dword ds:[ebp - 0x54], ecx
test ecx, ecx
je 0x55cffc
movsx ax, byte [edi]
lea edx, [esi + 2]
inc edi
cmp word [esi], ax
jne 0x55cfce
sub dword [ebp - 0x54], 1
je 0x55cffc
movsx ax, byte [edi]
inc edi
movzx ecx, word [edx]
add edx, 2
movzx eax, ax
cmp cx, ax
je 0x55cfb5
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
movzx eax, byte [ebp - 0x5d]
inc eax
add edi, eax
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x38], eax
mov al, byte [eax + 0x5d6ea8]
mov byte [ebp - 0x5d], al
test al, al
jne 0x55cf90
mov ecx, 0x82
jmp 0x55ea9c
mov edx, dword ds:[ebp - 0x38]
test edx, edx
js 0x55cff2
mov esi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x24]
add esi, 4
add eax, 0xfffffffe
mov dword [ebp - 4], esi
cmp esi, eax
jae 0x55d028
cmp word [esi], 0x2d
jne 0x55d028
cmp word [esi + 2], 0x5d
jne 0x55e8d5
test dword [ebp - 0x44], 0x20000
mov dword [ebp - 0x28], 0
je 0x55d097
mov eax, dword [edx*8 + 0x5d68b0]
mov ecx, dword [edx*8 + 0x5d68b4]
test eax, eax
js 0x55d075
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
xor edx, 1
shl eax, 0x10
sub edx, 0x7fe7fff1
or eax, ecx
mov dword [edi], edx
mov dword [edi + 4], eax
add edi, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55ce36
test ecx, ecx
je 0x55d097
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55ce36
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
add eax, 0x801c
shl eax, 0x10
mov dword [edi], eax
mov dword [edi + 4], edx
add edi, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55ce36
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
cmp eax, 1
jne 0x55d3b0
cmp ecx, dword [edx - 8]
jne 0x55d379
mov edi, dword [ebp - 8]
sub edi, 4
mov dword [ebp - 0x28], 0
mov dword [ebp - 8], edi
jmp 0x55ce36
cmp ecx, 0x2d
jne 0x55d125
mov eax, dword [ebp - 0x28]
cmp eax, 2
jb 0x55d0c1
cmp dword ds:[ebp - 0x28], 3
mov eax, 0x801e0000
mov edi, dword [ebp - 8]
mov ecx, 0x801f0000
cmove eax, ecx
mov dword [ebp - 0x28], 1
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55ce36
cmp ecx, 0x5c
jne 0x55d0be
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 4]
mov edx, dword [ebp - 0x24]
mov edi, esi
push eax
push 1
mov eax, dword [eax]
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x2c], esi
push dword [eax + 0x24]
lea eax, [ebp - 0x34]
push dword [ebp - 0x44]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0055ac40
mov ecx, dword ds:[ebp - 0x34]
mov esi, eax
test ecx, ecx
je 0x55d1e5
test byte [ebp - 0x90], 2
je 0x55ea2b
mov eax, dword ds:[ebp - 0x24]
mov esi, edi
mov dword [ebp - 4], esi
cmp edi, eax
jb 0x55d193
mov ecx, 0x5c
xor edi, edi
mov dword [ebp - 0x30], ecx
jmp 0x55d0bb
mov esi, dword [ebp - 0x54]
movzx ecx, word [edi]
add esi, 2
cmp dword [ebp - 0x58], 0
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], esi
je 0x55d200
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55d200
movzx eax, word ds:[esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add esi, 2
add ecx, 0x10000
mov dword [ebp - 4], esi
mov dword [ebp - 0x30], ecx
xor edi, edi
jmp 0x55d0bb
mov eax, esi
cmp esi, 0x1a
ja case.0x55d1f3.1
movzx eax, byte [eax + 0x55ebd8]
jmp dword [eax*4 + 0x55ebc0]
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
xor edi, edi
jmp 0x55d0bb
mov esi, dword [ebp - 4]
mov ecx, 8
mov dword [ebp - 0x30], ecx
xor edi, edi
jmp 0x55d0bb
mov dword [ebp - 0x6c], 1
mov esi, dword [ebp - 4]
jmp 0x55ce33
cmp dword [ebp - 0x28], 1
je 0x55e8d2
lea eax, ds:[esi - 6]
mov dword [ebp - 0x28], 0
cmp eax, 0xf
ja case.0x55d250.13
movzx eax, byte [eax + 0x55ec08]
jmp dword [eax*4 + 0x55ebf4]
mov edi, dword [ebp - 8]
lea eax, [esi - 0x7fe80000]
mov dword [edi], eax
add edi, 4
jmp 0x55d34b
test dword [ebp - 0x44], 0x20000
jne 0x55d286
mov edi, dword [ebp - 8]
lea eax, [esi - 0x7fe80000]
mov dword [edi], eax
add edi, 4
jmp 0x55d34b
cmp esi, 7
je 0x55d29a
cmp esi, 9
je 0x55d29a
mov eax, 0x8018000f
cmp esi, 0xb
jne 0x55d29f
mov eax, 0x80180010
mov edi, dword [ebp - 8]
add esi, 0xfffffffa
mov dword [edi], eax
add edi, 4
mov dword [ebp - 8], edi
cmp esi, 5
ja case.default.0x55d2b6
jmp dword [esi*4 + 0x55ec18]
mov dword [edi], 0x3000d
add edi, 4
jmp 0x55d34b
mov dword [edi], 0x70000
add edi, 4
jmp 0x55d34b
mov dword [edi], 0x90000
add edi, 4
jmp 0x55d34b
push dword [ebx + 0xc]
xor eax, eax
lea edx, [ebp - 0xb8]
lfence
mov word [ebp - 0x20], ax
lea ecx, [ebp - 4]
mov word [ebp - 0x60], ax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0055b4e0
test eax, eax
je 0x55e9a6
cmp dword [ebp - 0xb8], 0
je 0x55d32d
xor eax, eax
cmp esi, 0xf
sete al
lea esi, [eax + 0xf]
mov edi, dword [ebp - 8]
lea eax, [esi - 0x7fe80000]
movzx ecx, word [ebp - 0x20]
shl ecx, 0x10
mov dword [edi], eax
movzx eax, word [ebp - 0x60]
or ecx, eax
mov dword [edi + 4], ecx
add edi, 8
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 4]
add eax, 0xfffffffe
cmp esi, eax
jae 0x55ce36
cmp word [esi], 0x2d
jne 0x55ce36
cmp word [esi + 2], 0x5d
jne 0x55e8d5
jmp 0x55ce36
jb 0x55e8df
test edi, edi
mov edi, dword [ebp - 8]
jne 0x55d399
cmp dword [edi - 4], 0x801f0000
jne 0x55d399
mov dword [edi - 4], 0x801e0000
mov ecx, dword [ebp - 0x30]
mov dword [edi], ecx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], 0
jmp 0x55ce36
lea edx, [edi + 2]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], edx
mov dword [edi], ecx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55ce36
mov edi, dword [ebp - 0x24]
cmp esi, edi
jae 0x55ea97
movzx eax, word ds:[esi]
cmp eax, 0x3f
je 0x55d8db
cmp eax, 0x2a
je 0x55d445
inc dword ds:[ebp - 0x3c]
test dword [ebp - 0x44], 0x2000
mov ecx, dword [ebx + 0xc]
jne 0x55d42c
mov eax, dword [ecx + 0x74]
cmp eax, 0xffff
jae 0x55e9e8
mov edi, dword [ebp - 8]
inc eax
mov dword [ecx + 0x74], eax
or eax, 0x80080000
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09e
mov edi, dword ds:[ebp - 8]
mov eax, 0x801a0000
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09e
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55c098
movzx eax, word [esi + 2]
mov ecx, eax
mov edx, eax
mov dword [ebp - 0x30], edx
cmp ecx, 0x29
je 0x55c098
mov eax, 0xff
cmp cx, ax
mov ecx, dword [ebx + 0xc]
ja 0x55d719
mov eax, dword [ecx + 0x10]
test byte [edx + eax], 4
je 0x55d719
push ecx
lea eax, [ebp - 0x34]
mov edx, edi
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
push eax
push 0
push dword [ebp - 0x58]
lfence
lea ecx, [ebp - 4]
mov dword [ebp - 0x20], 0x5d6920
call fcn.0055ba40
test eax, eax
je 0x55e9a6
mov esi, dword ds:[ebp - 4]
mov dword [ebp - 0x38], esi
cmp esi, edi
jae 0x55e93c
cmp word [esi], 0x3a
jne 0x55e93c
mov edx, dword [ebp - 0x50]
xor ecx, ecx
mov esi, dword [ebp - 0x20]
xor edi, edi
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x54], eax
jmp 0x55d4f3
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax*8 + 0x5d6e20]
mov dword ds:[ebp - 0x20], eax
cmp edx, eax
jne 0x55d52a
mov eax, dword [ebp - 0x2c]
mov edi, ecx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x54]
push edx
mov edx, esi
mov dword [ebp - 0x2c], eax
call fcn.0057a9b0
lea ecx, [ecx]
test eax, eax
je 0x55d547
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x50]
inc edi
inc eax
add esi, eax
mov dword [ebp - 0x48], edi
mov eax, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x2c], edi
mov ecx, edi
mov dword [ebp - 0x54], eax
cmp eax, 0x11
jl 0x55d4f0
jmp 0x55d54d
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x38]
cmp ecx, 0x11
jge 0x55e93c
mov edx, dword [ebp - 0x28]
mov ecx, dword [eax*8 + 0x5d6e24]
test edx, edx
jle 0x55d578
lea eax, [ecx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x55e8f6
jmp 0x55d580
cmp ecx, 0x80250000
ja 0x55d63e
je 0x55d679
cmp ecx, 0x80230000
ja 0x55d625
mov edi, edi
je 0x55d615
cmp ecx, 0x80020000
je 0x55d5ed
cmp ecx, 0x80220000
jne 0x55e932
mov edi, dword [ebp - 8]
mov dword [edi], ecx
add edi, 4
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 4]
movzx eax, cx
add esi, 2
inc eax
mov dword [ebp - 4], esi
movzx ecx, ax
mov dword [ebp - 0x3c], ecx
mov ecx, dword [0x5f2f80]
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], ecx
jmp 0x55c09b
mov eax, dword [0x5f2f80]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 8]
inc dword [ebp - 0x3c]
mov dword [edi], 0x80020000
add edi, 4
mov esi, dword [ebp - 4]
add esi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x55c09b
mov eax, dword [0x5f2f80]
mov dword ds:[ebp - 0x20], eax
jmp 0x55e015
cmp ecx, 0x80240000
jne 0x55e932
mov eax, dword [0x5f2f80]
mov dword [ebp - 0x20], eax
jmp 0x55e049
mov edi, edi
cmp ecx, 0x80280000
ja 0x55d695
je 0x55d679
cmp ecx, 0x80260000
je 0x55d679
mov edi, edi
cmp ecx, 0x80270000
jne 0x55e932
mov eax, dword [0x5f2f80]
mov dword [ebp - 0x20], eax
jmp 0x55e02f
mov edi, dword [ebp - 8]
mov dword [edi], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [0x5f2f80]
sub eax, 2
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], ecx
jmp 0x55e0c0
jmp 0x55d6a0
cmp ecx, 0x8fff0000
jne 0x55e932
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x3c], ecx
mov dword [edi], 0x80220000
add dword [ebp - 4], 2
mov dword [edi + 4], 0x80020000
add edi, 8
mov dword [ebp - 8], edi
test edx, edx
jne 0x55d6df
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x4c], edx
jmp 0x55d6f1
add edx, 0xc
mov dword [ebp - 0x4c], edx
cmp edx, dword [ebp - 0x88]
jae 0x55e925
mov eax, 4
mov word [edx], cx
mov ecx, dword [0x5f2f80]
mov word [edx + 6], ax
mov eax, dword [ebp - 0x44]
and eax, 0x10424e8
mov dword [ebp - 0x20], ecx
mov dword [edx + 8], eax
mov esi, dword [ebp - 4]
jmp 0x55c09b
push ecx
lea eax, [ebp - 0x34]
mov dword [ebp - 0x78], 0x5d6eb8
push eax
lea eax, [ebp - 0x50]
mov edx, edi
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
push eax
push 0
push dword [ebp - 0x58]
lea ecx, [ebp - 4]
lfence
call fcn.0055ba40
test eax, eax
je 0x55e9a6
mov esi, dword [ebp - 4]
mov dword [ebp - 0x38], esi
cmp esi, edi
jae 0x55c0bb
movzx eax, word ds:[esi]
cmp eax, 0x3a
je 0x55d76e
cmp eax, 0x29
jne 0x55c0bb
mov esi, dword [ebp - 0x78]
xor edx, edx
xor edi, edi
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x48], edi
xor eax, eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x50]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x5d6d50]
mov dword [ebp - 0x78], eax
cmp ecx, eax
jne 0x55d7bd
mov eax, dword [ebp - 0x2c]
mov edx, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x54], eax
call fcn.0057a9b0
test eax, eax
je 0x55d7d9
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x2c]
lea edi, [edx + 1]
inc eax
add esi, eax
mov dword [ebp - 0x48], edi
mov eax, edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x54], edi
mov edx, edi
mov ecx, edi
cmp eax, 9
jl 0x55d780
jmp 0x55d7dc
mov ecx, dword [ebp - 0x54]
mov esi, dword ds:[ebp - 0x38]
cmp ecx, 9
jge 0x55c0bb
cmp word [esi], 0x3a
jne 0x55d802
lea eax, [esi + 2]
cmp eax, dword [ebp - 0x24]
jae 0x55d802
cmp word [eax], 0x29
jne 0x55d802
mov esi, eax
mov dword [ebp - 4], esi
lea ecx, [edi + edi*2]
mov edx, dword [ecx*4 + 0x5d6d58]
test edx, edx
jle 0x55d886
cmp word [esi], 0x3a
jne 0x55e946
mov ecx, dword [ecx*4 + 0x5d6d54]
add esi, 2
mov edi, dword [ebp - 8]
xor eax, eax
cmp ecx, 0x802a0000
mov dword [ebp - 4], esi
mov dword [ebp - 0x78], edi
sete al
mov dword [ebp - 0x40], eax
lea esi, [edi + 4]
xor eax, eax
mov edx, 0x10000
cmp ecx, 0x80290000
cmovne eax, edx
add eax, ecx
mov ecx, esi
mov dword [edi], eax
mov esi, dword [ebp - 4]
mov edx, 1
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xa0], esi
lea edi, [ecx + 4]
mov dword [ebp - 0xc], edx
mov ecx, dword [0x5f2f80]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 8], edi
jmp 0x55c0a1
mov ecx, dword [ecx*4 + 0x5d6d54]
xor eax, eax
mov edi, dword [ebp - 8]
cmp ecx, 0x802a0000
mov dword [ebp - 0x78], edi
sete al
mov dword [ebp - 0x40], eax
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 4], esi
lea esi, [edi + 4]
cmp eax, 0x3a
jne 0x55d8c3
test edx, edx
jns 0x55d842
mov dword [ebp - 0x94], ecx
mov eax, 0x80290000
jmp 0x55d854
mov dword [edi], ecx
mov edi, esi
mov ecx, dword [0x5f2f80]
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], ecx
jmp 0x55c09b
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x55ea97
movzx ecx, word [esi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x55d900.46
movzx eax, byte [eax + 0x55ec68]
nop
jmp dword [eax*4 + 0x55ec30]
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x55ea97
movzx eax, word [esi]
cmp eax, 0x3c
jne 0x55d927
mov eax, 0x3e
jmp 0x55e150
cmp eax, 0x3e
je case.0x55d900.34
cmp eax, 0x3d
jne 0x55e950
push dword [ebx + 0xc]
lea eax, [ebp - 0x34]
mov edx, edi
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
push eax
push 0x29
push dword [ebp - 0x58]
lea ecx, [ebp - 4]
lfence
call fcn.0055ba40
mov edi, edi
test eax, eax
je 0x55e9a6
mov edi, dword [ebp - 8]
mov dword [edi], 0x80040000
mov eax, dword [ebp - 0x50]
mov ecx, dword [0x5f2f80]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x5c]
mov dword [edi + 8], eax
add edi, 0xc
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x20], ecx
jmp 0x55c09b
add esi, 2
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x55d9b4
cmp word [esi], 0x29
je 0x55e43f
mov ecx, 0x9e
jmp 0x55ea9c
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x55d9ea
mov ax, word ds:[esi + 2]
sub ax, 0x30
cmp ax, 9
jbe case.0x55d900.39
mov ecx, 0x81
jmp 0x55ea9c
push dword [ebx + 0xc]
lea eax, [ebp - 0x34]
mov edx, edi
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
push eax
push 0x29
push dword [ebp - 0x58]
lea ecx, [ebp - 4]
lfence
call fcn.0055ba40
lea esp, [esp]
test eax, eax
je 0x55e9a6
mov edi, dword [ebp - 8]
mov dword [edi], 0x80210000
jmp 0x55d971
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x55ea97
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x68]
dec eax
mov edi, dword [ebp - 8]
mov dword [ebp - 0x7c], eax
test ecx, ecx
je 0x55da7b
test byte [ebp - 0x44], 4
je 0x55da7b
lea eax, [edi - 0x10]
cmp ecx, eax
jne 0x55da7b
cmp dword [edi - 4], 0xff
cmove edi, ecx
mov dword [ebp - 8], edi
movzx ecx, word [esi]
mov eax, edi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x84], 1
cmp ecx, 0x29
je 0x55db45
cmp ecx, 0x30
jb 0x55daa9
mov edi, edi
cmp ecx, 0x39
jbe 0x55db45
mov edi, ecx
mov dword [ebp - 0x48], 0
xor eax, eax
xor edx, edx
cmp edi, dword [ebp - 0x20]
je 0x55dad9
nop
inc eax
mov edx, eax
mov dword [ebp - 0x48], eax
mov ecx, dword [edx*4 + 0x5f2f80]
test ecx, ecx
je 0x55e965
cmp edi, ecx
jne 0x55dac0
mov edx, dword [edx*4 + 0x5f4914]
test edx, edx
je 0x55e965
mov edi, dword [ebp - 8]
mov dword [edi], 0x80070000
mov ecx, dword [ebp - 4]
add ecx, 2
mov dword [ebp - 4], ecx
cmp ecx, dword [ebp - 0x24]
jae 0x55e95a
movzx eax, word [ecx]
cmp eax, edx
jne 0x55daf4
add ecx, 2
mov dword [ebp - 4], ecx
cmp ecx, dword [ebp - 0x24]
jae 0x55db24
movzx eax, word ds:[ecx]
cmp eax, edx
je 0x55daf4
sub ecx, esi
sar ecx, 1
mov dword [edi + 0xc], ecx
add edi, 0x10
mov ecx, dword [ebx + 0xc]
sub esi, dword [ecx + 0x1c]
sar esi, 1
mov dword [ebp - 0x5c], esi
mov dword [edi], esi
jmp 0x55db97
mov dword [edi], 0x80060000
xor ecx, ecx
mov esi, dword [ebp - 4]
add edi, 0xc
cmp esi, dword [ebp - 0x24]
jae 0x55db92
lea esp, [esp]
movzx edx, word [esi]
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x55db92
lea ecx, [ecx + ecx*4]
mov eax, edx
lea ecx, [ecx - 0x18]
add esi, 2
mov dword [ebp - 4], esi
lea ecx, [eax + ecx*2]
cmp ecx, 0xff
jg 0x55e96f
cmp esi, dword [ebp - 0x24]
jb 0x55db60
mov dword [edi], ecx
mov ecx, dword [ebx + 0xc]
mov esi, dword ds:[ebp - 4]
cmp esi, dword [ebp - 0x24]
jae 0x55e979
cmp word [esi], 0x29
jne 0x55e979
mov eax, dword [ebp - 0x68]
add esi, 2
mov dword [ebp - 4], esi
sub esi, dword [ecx + 0x1c]
sar esi, 1
add edi, 4
mov dword [eax + 4], esi
mov dword [eax + 8], 0
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09e
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x55ea97
movzx eax, word [esi]
inc dword [ebp - 0x3c]
cmp eax, 0x3f
je 0x55dfee
jmp 0x55dc00
cmp eax, 0x2a
je 0x55dfee
mov esi, dword [ebx + 0xc]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x48]
mov edx, edi
push eax
push 0xa1
push 0xffff
lfence
push dword [esi + 0x74]
lea ecx, [ebp - 4]
call fcn.0055a9a0
test eax, eax
je 0x55dc6d
mov ecx, dword ds:[ebp - 0x48]
test ecx, ecx
jle 0x55e985
mov edi, dword [ebp - 8]
mov dword [edi], 0x80120000
mov eax, dword [ebp - 4]
sub eax, dword [esi + 0x1c]
sar eax, 1
sub eax, 2
mov dword [edi + 8], ecx
mov dword [edi + 4], eax
add edi, 8
mov dword [ebp - 0x5c], eax
jmp 0x55dfc7
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x55ea2b
mov ecx, dword [ebp - 4]
mov eax, edi
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 0x14
jl 0x55de05
mov edi, 7
mov edx, str.VERSION
mov esi, ecx
jmp 0x55dca0
movsx ax, byte [edx]
lea esi, [esi + 2]
movzx ecx, word [esi - 2]
lea edx, [edx + 1]
movzx eax, ax
cmp cx, ax
jne 0x55de05
sub edi, 1
jne 0x55dca0
mov esi, dword [ebp - 4]
add esi, 0xe
cmp word [esi], 0x29
je 0x55de05
mov dword ds:[ebp - 4], esi
mov eax, esi
cmp word [esi], 0x3e
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x54], edi
jne 0x55dcf5
add esi, 2
mov dword [ebp - 0x2c], 1
mov dword [ebp - 4], esi
mov eax, esi
cmp word [esi], 0x3d
jne 0x55e992
lea esi, [eax + 2]
mov dword [ebp - 4], esi
movzx eax, word [esi]
cmp eax, 0x30
jb 0x55e992
cmp eax, 0x39
ja 0x55e992
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x54]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
lea ecx, [ebp - 4]
lfence
call fcn.0055a9a0
lea esp, [esp]
test eax, eax
je 0x55e9a6
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x24]
cmp esi, ecx
jae 0x55e992
cmp word ds:[esi], 0x2e
jne 0x55dddc
add esi, 2
mov dword [ebp - 4], esi
cmp esi, ecx
jae 0x55e992
movzx eax, word ds:[esi]
cmp eax, 0x30
jb 0x55e992
cmp eax, 0x39
ja 0x55e992
sub eax, 0x30
add esi, 2
mov dword [ebp - 4], esi
lea edi, [eax + eax*4]
add edi, edi
cmp esi, ecx
jae 0x55e992
movzx eax, word [esi]
cmp eax, 0x30
jb 0x55ddd2
cmp eax, 0x39
ja 0x55ddd2
add eax, 0xffffffd0
add edi, eax
lea eax, [esi + 2]
mov esi, eax
mov dword [ebp - 4], esi
cmp eax, ecx
jae 0x55e992
cmp word [esi], 0x29
jne 0x55e992
mov ecx, dword ds:[ebp - 8]
mov eax, dword [ebp - 0x2c]
mov dword [ecx], 0x80150000
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x54]
mov dword [ecx + 8], eax
add ecx, 0xc
mov dword [ebp - 8], ecx
mov dword [ecx], edi
mov edi, ecx
jmp 0x55dfc7
lfence
mov ecx, dword [ebp - 4]
xor edi, edi
movzx eax, word [ecx]
cmp eax, 0x52
jne 0x55de45
mov eax, dword [ebp - 0x24]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jle 0x55de66
cmp word [ecx + 2], 0x26
lea eax, [ecx + 2]
jne 0x55de66
mov edi, 1
mov dword [ebp - 4], eax
jmp 0x55de6c
cmp eax, 0x3c
jne 0x55de56
lea esi, [eax + 2]
jmp 0x55de71
cmp eax, 0x27
jne 0x55de66
mov esi, eax
jmp 0x55de71
sub ecx, 2
mov dword [ebp - 4], ecx
mov esi, 0x29
push dword [ebx + 0xc]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
push eax
push esi
push dword [ebp - 0x58]
lea ecx, [ebp - 4]
call fcn.0055ba40
test eax, eax
je 0x55e9a6
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x28], ecx
test edi, edi
je 0x55debb
mov edi, dword [ebp - 8]
mov dword [edi], 0x80130000
sub dword [ebp - 4], 2
jmp 0x55dfa5
jmp 0x55dec0
cmp esi, 0x29
jne 0x55df9c
cmp ecx, 6
jne 0x55df18
mov esi, dword [ebp - 0x64]
mov edi, ecx
mov edx, str.DEFINE
lea esp, [esp]
movsx ax, byte [edx]
lea esi, [esi + 2]
movzx ecx, word [esi - 2]
lea edx, [edx + 1]
movzx eax, ax
cmp cx, ax
jne 0x55df15
sub edi, 1
jne 0x55dee0
mov edi, dword [ebp - 8]
mov eax, 0x80100000
mov dword [edi], eax
sub dword [ebp - 4], 2
mov ecx, dword [ebp - 0x28]
jmp 0x55dfa5
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x64]
mov eax, 1
mov dword [ebp - 0x48], 1
cmp ecx, eax
jle 0x55df6c
mov esi, eax
mov edx, eax
mov ecx, eax
jmp 0x55df40
movzx ecx, word [edi + ecx*2]
cmp ecx, 0x30
jb 0x55df69
mov eax, edx
cmp ecx, 0x39
ja 0x55df69
lea eax, [esi + 1]
mov ecx, eax
mov dword [ebp - 0x48], eax
mov esi, eax
mov edx, eax
cmp ecx, dword [ebp - 0x28]
jl 0x55df40
mov ecx, dword [ebp - 0x28]
cmp word [edi], 0x52
jne 0x55df86
cmp eax, ecx
mov eax, 0x80140000
jge 0x55df8b
mov eax, 0x80110000
mov edi, dword [ebp - 8]
mov dword [edi], eax
sub dword [ebp - 4], 2
mov ecx, dword [ebp - 0x28]
jmp 0x55dfa5
mov edi, dword [ebp - 8]
mov dword [edi], 0x80110000
mov eax, dword [edi]
add edi, 4
cmp eax, 0x80100000
je 0x55dfba
mov dword [edi], ecx
add edi, 4
mov eax, dword [ebp - 0x5c]
mov dword [edi], eax
mov eax, dword [0x5f2f80]
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 4]
cmp esi, dword [ebp - 0x24]
jae 0x55e99c
cmp word [esi], 0x29
jne 0x55e99c
add esi, 2
add edi, 4
mov dword [ebp - 4], esi
mov dword [ebp - 8], edi
jmp 0x55c09b
mov edi, dword [ebp - 8]
mov dword [ebp - 0x7c], 2
mov dword [edi], 0x800f0000
add edi, 4
mov esi, dword [ebp - 4]
sub esi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x55c09b
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 8]
mov ecx, dword [ebx + 0xc]
mov dword [edi], 0x80230000
mov esi, dword [ebp - 4]
add esi, 2
jmp 0x55e0e2
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 8]
mov ecx, dword [ebx + 0xc]
mov dword [edi], 0x80270000
mov esi, dword [ebp - 4]
add esi, 2
jmp 0x55e0e2
mov edx, dword [ebp - 0x28]
mov edi, dword ds:[ebp - 8]
mov ecx, dword [ebx + 0xc]
mov dword [edi], 0x80240000
mov esi, dword [ebp - 4]
add esi, 2
jmp 0x55e0e2
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55d91d
movzx eax, word ds:[esi + 2]
cmp eax, 0x3d
je 0x55e0b0
cmp eax, 0x21
je 0x55e09b
cmp eax, 0x2a
jne 0x55d91d
cmp eax, 0x21
mov ecx, 0x80280000
mov eax, 0x80260000
cmove ecx, eax
jmp 0x55e0b5
mov ecx, 0x80250000
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
mov dword [edi], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebx + 8]
add edi, 4
mov dword [ecx], 1
mov ecx, dword [ebx + 0xc]
sub eax, dword [ecx + 0x1c]
sar eax, 1
sub eax, 2
mov dword [edi], eax
mov esi, dword [ebp - 4]
mov dword [ebp - 0x5c], eax
add esi, 4
mov eax, dword [ebp - 0x3c]
add edi, 4
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
mov dword [ebp - 0x3c], eax
test edx, edx
jle 0x55c09e
mov edx, dword ds:[ebp - 0x4c]
test edx, edx
jne 0x55e113
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x4c], edx
jmp 0x55e12c
add edx, 0xc
mov dword [ebp - 0x4c], edx
cmp edx, dword [ebp - 0x88]
jae 0x55e928
mov word [edx], ax
mov eax, 2
mov word [edx + 6], ax
mov eax, dword [ebp - 0x44]
and eax, 0x10424e8
mov dword [edx + 8], eax
mov esi, dword [ebp - 4]
jmp 0x55c09e
mov eax, 0x27
mov esi, dword [ebx + 0xc]
lea ecx, [ebp - 0x34]
push esi
push ecx
lea ecx, [ebp - 0x50]
mov edx, edi
push ecx
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x5c]
push ecx
push eax
push dword [ebp - 0x58]
lea ecx, [ebp - 4]
lfence
call fcn.0055ba40
test eax, eax
je 0x55e9a6
mov edi, esi
mov eax, dword [edi + 0x74]
cmp eax, 0xffff
jae 0x55e9e5
mov edx, dword [ebp - 8]
inc eax
inc dword [ebp - 0x3c]
mov dword [edi + 0x74], eax
or eax, 0x80080000
mov dword [edx], eax
add edx, 4
mov dword [ebp - 8], edx
mov eax, 0x2710
movzx edx, word [edi + 0x58]
cmp dx, ax
jae 0x55e9d8
mov esi, dword [ebp - 0x50]
movzx eax, word [edi + 0x5a]
lea ecx, [esi + 2]
cmp ecx, eax
jbe 0x55e1cf
lea eax, [esi + 2]
mov word [edi + 0x5a], ax
mov ecx, dword [edi + 0x64]
xor eax, eax
xor edi, edi
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x48], edi
cmp ax, dx
jae 0x55e298
lea esp, [esp]
movzx eax, word [ecx + 8]
cmp esi, eax
jne 0x55e270
mov edx, dword ds:[ecx]
test esi, esi
je 0x55e234
mov edi, dword [ebp - 0x64]
sub edi, edx
lea ecx, [ecx]
movzx ecx, word ds:[edx + edi]
lea edx, [edx + 2]
movzx eax, word [edx - 2]
cmp cx, ax
jne 0x55e26a
sub esi, 1
jne 0x55e210
mov ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x48]
mov esi, dword ds:[ebx + 0xc]
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 0x74]
je 0x55e298
test byte [ebp - 0x44], 0x40
je 0x55e9b1
mov eax, 1
mov word [ecx + 0xa], ax
mov dword [ebp - 0x2c], eax
mov dword [esi + 0xbc], eax
jmp 0x55e27f
mov ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x48]
mov esi, dword [ebx + 0xc]
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 0x74]
je 0x55e9be
movzx eax, word [esi + 0x58]
inc edi
mov esi, dword [ebp - 0x50]
add ecx, 0xc
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x38], ecx
cmp edi, eax
jl 0x55e1f0
mov ecx, dword ds:[ebx + 0xc]
movzx eax, word [ecx + 0x58]
cmp edi, eax
jl 0x55e38c
mov ecx, dword [ecx + 0x68]
mov esi, dword [ebx + 0xc]
cmp eax, ecx
jb 0x55e32a
mov esi, dword [esi]
lea eax, [ecx + ecx]
mov dword [ebp - 0x54], eax
lea eax, [eax + eax*2]
shl eax, 2
push dword [esi + 8]
mov esi, dword [esi]
mov ecx, esi
push eax
call dword [0x5a28f0]
call esi
mov edi, eax
test edi, edi
je 0x55e9cb
mov esi, dword [ebx + 0xc]
mov ecx, dword [esi + 0x68]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [esi + 0x64]
push edi
call fcn.00580c90
add esp, 0xc
cmp dword [esi + 0x68], 0x14
jbe 0x55e321
mov esi, dword [esi]
mov eax, dword [ebx + 0xc]
push dword [esi + 8]
mov esi, dword [esi + 4]
mov ecx, esi
push dword [eax + 0x64]
call dword [0x5a28f0]
call esi
mov esi, dword [ebx + 0xc]
mov eax, dword [ebp - 0x54]
mov dword [esi + 0x64], edi
mov dword [esi + 0x68], eax
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x64]
mov edi, dword [ebp - 8]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov dword [eax + ecx*4], edx
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x50]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + ecx*4 + 8], dx
movzx eax, word [esi + 0x58]
mov ecx, dword [esi + 0x64]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x2c]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + ecx*4 + 0xa], dx
mov ecx, dword [ebx + 0xc]
mov eax, dword [0x5f2f80]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x20], eax
inc word [ecx + 0x58]
jmp 0x55c09e
mov ecx, dword [ebx + 0xc]
mov edx, dword [0x5f2f80]
mov esi, dword ds:[ebp - 4]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x20], edx
jmp 0x55c09e
cmp ecx, 0x2d
jne 0x55e477
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55e477
mov ax, word [esi + 2]
sub ax, 0x30
cmp ax, 9
ja 0x55e477
lfence
mov eax, dword [ebp - 4]
mov ax, word [eax]
sub ax, 0x30
cmp ax, 9
ja 0x55e3f4
mov eax, 0xffffffff
jmp 0x55e3fa
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x74]
lea ecx, [ebp - 0x34]
mov edx, edi
push ecx
lea ecx, [ebp - 0x48]
push ecx
push 0xa1
push 0xffff
push eax
lea ecx, [ebp - 4]
call fcn.0055a9a0
test eax, eax
je 0x55e9a6
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 4]
test eax, eax
js 0x55e9f2
cmp esi, edi
jae 0x55ea97
cmp word [esi], 0x29
jne 0x55ea97
mov edi, dword [ebp - 8]
or eax, 0x80200000
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x40], 1
mov dword [edi], eax
mov eax, dword [ebp - 4]
mov ecx, eax
sub ecx, dword [esi + 0x1c]
add eax, 2
sar ecx, 1
mov dword [ebp - 4], eax
mov dword [edi + 4], ecx
add edi, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 8], edi
jmp 0x55c09b
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x3c], eax
test edi, edi
jne 0x55e497
mov ecx, dword [ebx + 0xc]
mov edi, dword [ecx + 0x14]
mov dword [ebp - 0x4c], edi
jmp 0x55e4af
add edi, 0xc
mov dword [ebp - 0x4c], edi
cmp edi, dword [ebp - 0x88]
jae 0x55e928
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x44]
mov word [edi], ax
xor eax, eax
mov word [edi + 6], ax
mov eax, edx
and eax, 0x10424e8
mov dword [edi + 8], eax
mov eax, dword [ebp - 4]
cmp word [eax], 0x7c
jne 0x55e512
mov edx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x74]
mov edi, dword [ebp - 8]
mov word [edx + 2], ax
movzx eax, word [ecx + 0x74]
mov word [edx + 4], ax
mov eax, 1
mov word [edx + 6], ax
or dword [ecx + 0x70], 0x200000
mov dword [edi], 0x801a0000
add edi, 4
mov esi, dword [ebp - 4]
add esi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x55c09e
xor eax, eax
mov dword [ebp - 0x2c], edx
mov dword [edi + 2], eax
lea edx, [ebp - 0xa4]
mov esi, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
xor edi, edi
mov dword [ebp - 0x38], 1
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], edi
cmp esi, eax
jae 0x55e64a
cmp word [esi], 0x5e
jne 0x55e562
and dword [ebp - 0x44], 0xfeffdb57
add esi, 2
mov dword [ebp - 0x38], ecx
mov dword [ebp - 4], esi
cmp esi, eax
jae 0x55e64a
mov edi, eax
lea esp, [esp]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x29
je 0x55e63e
mov edi, edi
cmp eax, 0x3a
je 0x55e63e
add esi, 2
lea eax, [ecx - 0x2d]
mov dword [ebp - 4], esi
cmp eax, 0x4b
ja case.0x55e5a2.46
movzx eax, byte [eax + 0x55ecc0]
jmp dword [eax*4 + 0x55ec9c]
cmp dword [ebp - 0x38], 0
je 0x55e9ff
lea edx, [ebp - 0xa8]
mov dword [ebp - 0x38], 0
jmp 0x55e634
mov eax, dword [ebx + 0xc]
or dword [edx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x55e634
or dword [edx], 8
jmp 0x55e634
or dword [edx], 0x400
jmp 0x55e634
or dword [edx], 0x2000
jmp 0x55e634
or dword [edx], 0x20
jmp 0x55e634
or dword [edx], 0x40000
jmp 0x55e634
mov ecx, dword [edx]
mov eax, esi
or ecx, 0x80
mov dword [edx], ecx
cmp esi, edi
jae 0x55e636
cmp word [esi], 0x78
jne 0x55e570
or ecx, 0x1000000
add esi, 2
mov dword [edx], ecx
mov dword [ebp - 4], esi
mov eax, esi
cmp eax, edi
jb 0x55e570
mov edi, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x55e668
lea esp, [esp]
test cl, cl
jns 0x55e66e
or ecx, 0x1000000
or edi, dword ds:[ebp - 0x44]
not ecx
and edi, ecx
mov edx, edi
mov dword [ebp - 0x44], edx
cmp esi, dword [ebp - 0x24]
jae 0x55ea97
movzx eax, word [esi]
add esi, 2
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 4], esi
cmp eax, 0x29
jne 0x55e6df
add dword [ebp - 0x3c], 0xffff
mov edi, dword [ebp - 0x4c]
cmp edi, dword [ecx + 0x14]
jbe 0x55e6d1
mov ecx, dword ds:[ebp - 0x3c]
lea eax, [edi - 0xc]
cmp word [eax], cx
mov ecx, dword [ebx + 0xc]
jne 0x55e6d1
mov edi, dword [ebp - 8]
mov dword [ebp - 0x4c], eax
jmp 0x55e6f1
mov eax, dword [ebp - 0x3c]
mov word [edi], ax
mov edi, dword [ebp - 8]
jmp 0x55e6ee
mov edi, dword [ebp - 8]
mov dword [edi], 0x801a0000
add edi, 4
mov dword [ebp - 8], edi
mov esi, dword [ebp - 4]
cmp edx, dword [ebp - 0x2c]
je 0x55c09e
mov dword [edi], 0x801b0000
mov dword [edi + 4], edx
add edi, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09e
mov edx, dword [ebp - 0x4c]
test edx, edx
je 0x55e75b
mov eax, dword ds:[ebp - 0x3c]
cmp word [edx], ax
jne 0x55e75b
test byte [edx + 6], 1
je 0x55e75b
mov eax, dword ds:[ebx + 0xc]
mov ecx, dword [eax + 0x74]
movzx eax, word [edx + 4]
cmp ecx, eax
jbe 0x55e74c
mov word [edx + 4], cx
mov ecx, dword [ebx + 0xc]
movzx eax, word [edx + 2]
mov dword [ecx + 0x74], eax
jmp 0x55e75e
mov ecx, dword [ebx + 0xc]
mov edi, dword [ebp - 8]
mov dword [edi], 0x80010000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09e
mov edx, dword ds:[ebp - 0x4c]
mov dword [ebp - 0x40], 1
test edx, edx
je 0x55e825
mov ecx, dword [ebp - 0x3c]
cmp word [edx], cx
jne 0x55e825
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebx + 0xc]
and edx, 0xfefbdb17
or edx, dword [eax + 8]
mov dword [ebp - 0x44], edx
mov edx, eax
test byte [edx + 6], 1
je 0x55e7cc
movzx eax, word ds:[edx + 4]
cmp eax, dword [ecx + 0x74]
jbe 0x55e7cc
mov dword [ecx + 0x74], eax
movzx eax, word ds:[edx + 6]
mov edi, eax
not edi
shr edi, 1
and edi, 1
mov dword [ebp - 0x40], edi
test al, 4
je 0x55e7fa
mov eax, dword [ebp - 8]
mov dword [eax], 0x80190000
add eax, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], eax
lea ebx, [ebx]
cmp edx, dword [ecx + 0x14]
jne 0x55e813
xor eax, eax
mov dword [ebp - 0x4c], eax
jmp 0x55e828
sub edx, 0xc
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x40], edx
jmp 0x55e828
mov ecx, dword [ebx + 0xc]
cmp word [ebp - 0x3c], 0
je 0x55ea19
mov edi, dword [ebp - 8]
add dword [ebp - 0x3c], 0xffff
mov dword [edi], 0x80190000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09e
mov edi, dword [ebp - 8]
mov dword [ebp - 0x40], 1
mov dword [edi], edx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55c09b
mov ecx, 0x8c
jmp 0x55ea9c
sub esi, 2
mov ecx, 0xb0
jmp 0x55ea9c
mov ecx, 0x6d
sub esi, 2
jmp 0x55ea9c
movzx eax, word [esi]
xor ecx, ecx
sub esi, 2
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x55ea9c
mov ecx, 0x71
sub esi, 2
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, 0x6b
sub esi, 2
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, 0xab
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, 0x96
jmp 0x55ea9c
mov ecx, 0x6c
sub esi, 2
jmp 0x55ea9c
mov ecx, 0x6a
jmp 0x55ea9c
jmp 0x55e900
cmp ecx, 0x80270000
je 0x55e918
cmp ecx, 0x80280000
jne 0x55c521
mov ecx, 0xc6
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, 0xb8
jmp 0x55ea9c
mov ecx, 0xbd
jmp 0x55ea9c
mov ecx, 0xc3
jmp 0x55ea9c
mov ecx, 0xa6
jmp 0x55ea9c
mov ecx, 0x8d
jmp 0x55ea9c
mov ecx, 0xb5
jmp 0x55ea9c
mov ecx, 0xb6
jmp 0x55ea9c
mov ecx, 0x8a
jmp 0x55ea9c
mov ecx, 0x8b
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, 0x73
jmp 0x55ea9c
mov ecx, 0xb3
jmp 0x55ea9c
mov ecx, 0x7c
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x34]
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, 0x8f
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, 0xa5
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, 0x79
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, 0x95
jmp 0x55ea9c
mov esi, dword [ebp - 4]
mov ecx, 0xc5
jmp 0x55ea9c
mov ecx, 0x73
sub esi, 2
jmp 0x55ea9c
mov ecx, 0xc2
add esi, 0xfffffffe
jmp 0x55ea9c
mov ecx, 0x6f
add esi, 0xfffffffe
jmp 0x55ea9c
mov ecx, 0x7a
sub esi, 2
jmp 0x55ea9c
mov ecx, 0x77
mov esi, dword [ebp - 4]
jmp 0x55ea9c
mov esi, dword ds:[ebp - 4]
mov ecx, 0xa3
jmp 0x55ea9c
test al, 4
je 0x55ea60
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
mov esi, dword [ebp - 4]
add ecx, 8
cmp ecx, dword [ebp - 0x98]
jb 0x55ea76
mov ecx, 0xa3
jmp 0x55ea9c
cmp word [ebp - 0x3c], 0
mov dword [ecx], 0x80000000
jne 0x55ea94
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov esi, dword [ebp - 4]
mov ecx, 0x72
mov eax, dword [ebx + 0xc]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8