Function at 0x55c160
Capabilities:
Encode data using base64
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x94
xor eax, eax
xor ecx, ecx
push ebx
mov ebx, dword [esp + 0xa8]
xor edx, edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x70], eax
push ebp
mov eax, dword [ebx + 0x80]
mov ebp, dword [ebx + 0x20]
mov dword [esp + 0x84], eax
mov eax, dword [ebx]
push esi
mov esi, dword [ebx + 0x7c]
mov dword [esp + 0x7c], ecx
mov eax, dword [eax + 0x24]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x74], eax
xor eax, eax
push edi
mov edi, dword [esp + 0xac]
mov ecx, edi
shr ecx, 2
mov dword [esp + 0x64], eax
and ecx, 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x6c], eax
mov eax, edi
shr eax, 0x13
mov dword [esp + 0x74], ecx
and eax, 1
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x88], ecx
and dword [esp + 0x88], 8
mov dword [esp + 0x18], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x54], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x94], edx
je 0x55c217
mov dword [esi], 0x80090000
jmp 0x55c222
test cl, 4
je 0x55c230
mov dword [esi], 0x80180005
mov dword [esi + 4], 0x801a0000
add esi, 8
mov dword [esp + 0x1c], esi
test edi, 0x2000000
je 0x55c39a
mov edi, dword [esp + 0xa8]
cmp edi, ebp
jae 0x55c327
nop dword [eax + eax]
cmp esi, dword [esp + 0x8c]
jae 0x55ebe0
movzx ecx, word [edi]
mov edx, edi
lea edi, [edx + 2]
test eax, eax
je 0x55c293
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55c293
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [esp + 0x74], 0
je 0x55c30b
cmp dword [esp + 0x18], 0
mov ebx, esi
je 0x55c2d3
mov ebp, dword [esp + 0xb4]
mov eax, edx
sub eax, dword [ebp + 0x1c]
mov ebp, dword [esp + 0x18]
sar eax, 1
sub eax, dword [ebp + 4]
mov dword [ebp + 8], eax
lea eax, [esi - 0x10]
cmp ebp, eax
mov ebp, dword [esp + 0x10]
jne 0x55c2d3
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xc], 0xff
je 0x55c2ee
mov dword [esp + 0x18], esi
lea ebx, [esi + 0x10]
mov dword [esi], 0x80060000
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0xff
mov eax, dword [esp + 0xb4]
mov esi, ebx
sub edx, dword [eax + 0x1c]
mov eax, dword [esp + 0x18]
sar edx, 1
mov dword [eax + 4], edx
mov edx, eax
mov dword [esp + 0x18], edx
jmp 0x55c30f
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov dword [esi], ecx
add esi, 4
cmp edi, ebp
jb 0x55c250
mov ebx, dword [esp + 0xb4]
xor ebp, ebp
mov ecx, esi
test edx, edx
je 0x55c33c
mov eax, edi
sub eax, dword [ebx + 0x1c]
sar eax, 1
sub eax, dword [edx + 4]
mov dword [edx + 8], eax
cmp dword [esp + 0x74], 0
je 0x55c37a
test edx, edx
je 0x55c357
lea eax, [esi - 0x10]
cmp edx, eax
jne 0x55c357
cmp dword [edx + 0xc], 0xff
je 0x55c370
mov edx, esi
mov dword [esi], 0x80060000
lea ecx, [esi + 0x10]
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0xff
mov eax, edi
sub eax, dword [ebx + 0x1c]
sar eax, 1
mov dword [edx + 4], eax
cmp dword [esp + 0x88], 0
je 0x55ebc0
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x55ebd4
mov ecx, dword [ebx + 0x28]
xor eax, eax
mov dword [esp + 0x4c], eax
add ecx, ecx
xor edx, edx
mov eax, ecx
mov ebp, 0xc
div ebp
mov eax, dword [ebx + 0x14]
sub eax, edx
mov edx, edi
add eax, ecx
or edx, 0x80
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], eax
mov eax, edi
and eax, 0x1000000
cmove edx, edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x2c], edx
xor edx, edx
xor ebp, ebp
jmp 0x55c410
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
jmp 0x55c410
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
movzx eax, bp
mov dword [esp + 0xa0], eax
cmp edi, ecx
jae 0x55ebae
mov dword [esp + 0x70], 0
mov dword [esp + 0x40], 0
cmp esi, dword [esp + 0x8c]
jae 0x55ebe0
mov ecx, dword [ebx]
movzx eax, bp
cmp eax, dword [ecx + 0x20]
ja 0x55eba7
cmp dword [esp + 0x44], 0
mov edx, edi
movzx ebx, word [edi]
mov dword [esp + 0x28], edx
mov ebp, ebx
mov dword [esp + 0x38], ebx
lea edi, [edx + 2]
mov eax, edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0x30], eax
je 0x55c4ba
mov eax, ebx
mov dword [esp + 0x30], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55c4b6
movzx eax, word [edi]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or ebx, eax
add ebx, 0x10000
add edi, 2
mov eax, edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0xa8], edi
mov ebp, ebx
mov dword [esp + 0x30], eax
jmp 0x55c4ba
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x5c], 0
je 0x55c55e
cmp ebp, 0x5c
jne 0x55c4e8
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jae 0x55c4e8
cmp word [edi], 0x45
jne 0x55c4e8
mov dword [esp + 0x5c], 0
lea edi, [eax + 2]
jmp 0x55c401
cmp dword [esp + 0x68], 0
jg case.0x55c9cd.34
cmp dword [esp + 0x6c], 0
jne 0x55c535
mov ecx, dword [esp + 0x64]
mov eax, ecx
dec ecx
mov dword [esp + 0x64], ecx
test eax, eax
jg 0x55c52d
push dword [esp + 0xb4]
lea eax, [esp + 0x64]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.0055c0e0
mov esi, eax
add esp, 0x14
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 1
mov dword [esp + 0x54], 0
mov dword [esi], ebx
mov ecx, dword [esp + 0x10]
add esi, 4
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x1c], esi
jmp 0x55c410
cmp dword [esp + 0x6c], 0
je 0x55c6d4
mov eax, dword [esp + 0x2c]
and eax, 0x400080
cmp eax, 0x400080
jne 0x55c5c9
cmp ebp, 0xff
jbe 0x55c594
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x55c594
cmp eax, 0x2029
jne 0x55c53d
cmp ebp, 0x100
jae 0x55c6d4
cmp ebp, 0x23
je 0x55c704
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x55c6d4
cmp ebp, 0x85
je 0x55c704
cmp ebp, 0x29
je 0x55c669
cmp ebp, 0x5c
jne 0x55c53d
mov edx, dword [esp + 0x2c]
test edx, 0x400000
je 0x55c53d
mov ebx, dword [esp + 0xb4]
lea eax, [esp + 0x20]
push ebx
push 0
push dword [ecx + 0x24]
push edx
push eax
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0xc4]
push eax
call fcn.00555f10
mov ecx, dword [esp + 0x40]
add esp, 0x20
test ecx, ecx
jne 0x55ea5a
sub eax, ecx
je 0x55c659
sub eax, 0x19
je 0x55dc2a
mov edi, dword [esp + 0xa8]
sub eax, 1
jne 0x55e9e8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x5c], 1
jmp 0x55c410
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x38]
jmp 0x55c53d
mov eax, edi
mov dword [esp + 0x6c], 0
sub eax, dword [esp + 0x94]
sar eax, 1
dec eax
cmp eax, 0xffff
jg 0x55e9f2
mov ecx, dword [esp + 0x90]
mov eax, esi
mov ebx, dword [esp + 0xb4]
sub eax, ecx
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
sar eax, 2
dec eax
mov dword [ecx], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x55c410
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x80], 0
jmp 0x55c408
cmp ebp, 0x5c
jne 0x55c704
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x10]
jae 0x55c704
movzx eax, word [edi]
cmp eax, 0x51
je 0x55c6f0
cmp eax, 0x45
jne 0x55c704
xor edx, edx
lea edi, [ecx + 2]
cmp eax, 0x51
sete dl
mov dword [esp + 0x5c], edx
jmp 0x55c3fd
test byte [esp + 0x2c], 0x80
je 0x55c83d
cmp ebp, 0x100
jae 0x55c72b
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x55c3fd
cmp ebp, 0x85
je 0x55c3fd
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x55c3fd
cmp eax, 0x2029
je 0x55c3fd
cmp ebp, 0x23
jne 0x55c83d
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
cmp edi, ecx
jae 0x55c410
nop word [eax + eax]
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebx + 0x20]
test eax, eax
je 0x55c7b4
cmp edi, ecx
jae 0x55c7e1
push dword [esp + 0x44]
add ebx, 0x94
push ebx
push ecx
push eax
push edi
call fcn.00590e50
add esp, 0x14
test eax, eax
jne 0x55c828
mov ebx, dword [esp + 0xb4]
jmp 0x55c7e1
mov edx, dword [ebx + 0x94]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x55c7e1
mov ax, word [edi]
cmp ax, word [ebx + 0xa0]
jne 0x55c7e1
cmp edx, 1
je 0x55c831
mov ax, word [edi + 2]
cmp ax, word [ebx + 0xa2]
je 0x55c831
mov ecx, dword [esp + 0x10]
add edi, 2
cmp dword [esp + 0x44], 0
mov eax, edi
je 0x55c813
cmp edi, ecx
jae 0x55c813
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x55c780
add edi, 2
mov eax, edi
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
cmp eax, ecx
jb 0x55c780
jmp 0x55c410
mov edx, dword [ebx]
mov ebx, dword [esp + 0xb4]
mov ecx, dword [esp + 0x10]
lea edi, [edi + edx*2]
jmp 0x55c408
cmp ebp, 0x28
jne 0x55c881
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x55c8bb
cmp word [edi], 0x3f
jne 0x55c8bb
cmp word [edi + 2], 0x23
jne 0x55c8bb
nop
add edi, 2
cmp edi, ecx
jae 0x55ea03
cmp word [edi], 0x29
jne 0x55c860
cmp edi, ecx
jae 0x55ea03
add edi, 2
jmp 0x55c401
cmp ebp, 0x2a
je 0x55c8f2
cmp ebp, 0x2b
je 0x55c8f2
cmp ebp, 0x3f
je 0x55c8f2
cmp ebp, 0x7b
jne 0x55c8bb
lea eax, [esp + 0x20]
mov dword [esp + 0x58], edi
push eax
push 0
push 0
push dword [esp + 0x1c]
lea eax, [esp + 0x68]
push eax
call fcn.00560580
add esp, 0x14
test eax, eax
jne 0x55c8f2
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
mov eax, ecx
dec ecx
mov dword [esp + 0x64], ecx
test eax, eax
jg 0x55c8f2
push dword [esp + 0xb4]
lea eax, [esp + 0x64]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.0055c0e0
mov esi, eax
add esp, 0x14
mov eax, dword [esp + 0x60]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x68]
test edx, edx
jle 0x55c954
cmp ebp, 0x28
jne case.0x55c9cd.34
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x55c9cd.34
movzx eax, word [edi]
cmp eax, 0x3f
je 0x55c9ba
cmp eax, 0x2a
jne case.0x55c9cd.34
movzx eax, word [edi + 2]
mov ecx, 0xff
cmp ax, cx
ja case.0x55c9cd.34
mov ecx, eax
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ecx + eax], 4
je case.0x55c9cd.34
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x28], edx
xor edx, edx
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x54]
mov eax, edx
mov dword [esp + 0x24], 0
mov dword [esp + 0x54], 0
test eax, eax
je 0x55ca05
cmp ebx, 0x3f
je 0x55c98e
cmp ebx, 0x2b
jne 0x55ca05
cmp ebx, 0x3f
mov ecx, 0x10000
mov ebx, 0x20000
cmove ecx, ebx
add ecx, eax
xor eax, eax
cmp edx, 0x803d0000
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + esi], ecx
jmp 0x55c3fd
movzx eax, word [edi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x55c9cd.34
movzx eax, byte [eax + 0x55ec30]
jmp dword [eax*4 + 0x55ec20]
movzx eax, word [edi + 4]
cmp eax, 0x3d
je case.0x55c9cd.33
cmp eax, 0x21
je case.0x55c9cd.33
mov edi, dword [esp + 0x30]
add edi, 0xfffffffe
mov ecx, 0x80
jmp 0x55ec04
cmp edx, 2
jne case.0x55c9cd.34
jmp case.0x55c9cd.33
lea eax, [ebx - 0x24]
cmp eax, 0x58
ja case.0x55ca18.37
movzx eax, byte [eax + 0x55ec88]
jmp dword [eax*4 + 0x55ec54]
mov ebp, dword [esp + 0xb4]
push ebp
push 0
mov dword [esp + 0x60], edi
mov eax, dword [ebp]
push dword [eax + 0x24]
lea eax, [esp + 0x2c]
push dword [esp + 0x38]
push eax
lea eax, [esp + 0x4c]
push eax
push ecx
lea eax, [esp + 0xc4]
push eax
call fcn.00555f10
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov ebx, eax
test ecx, ecx
jne 0x55ca93
test ebx, ebx
je 0x55cdeb
js 0x55cd77
lea eax, [ebx - 6]
cmp eax, 0x16
ja case.0x55ca79.13
movzx eax, byte [eax + 0x55ecfc]
jmp dword [eax*4 + 0x55ece4]
test dword [esp + 0x2c], 0x100000
je case.0x55ca79.12
mov ecx, 0xb7
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
test byte [esp + 0x78], 2
je 0x55ec04
mov eax, dword [esp + 0x58]
mov edi, eax
cmp eax, edx
jb 0x55ce05
mov ecx, 0x5c
mov dword [esp + 0x24], 1
mov dword [esi], ecx
jmp 0x55c53f
mov dword [esp + 0x24], 1
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
add esi, 4
mov ecx, dword [esp + 0x10]
mov ebx, ebp
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x1c], esi
jmp 0x55c410
xor eax, eax
mov word [esp + 0x24], ax
mov word [esp + 0x1c], ax
lea eax, [esp + 0x20]
push ebp
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.0055b970
add esp, 0x18
test eax, eax
je 0x55cce9
cmp dword [esp + 0x98], 0
je 0x55cb4d
xor eax, eax
cmp ebx, 0xf
sete al
lea ebx, [eax + 0xf]
movzx ecx, word [esp + 0x24]
lea eax, [ebx - 0x7fe80000]
mov edi, dword [esp + 0xa8]
mov ebx, ebp
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esi], eax
movzx eax, word [esp + 0x1c]
shl ecx, 0x10
or ecx, eax
mov dword [esp + 0x24], 1
mov dword [esi + 4], ecx
add esi, 8
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x55ccf2
movzx eax, word [edi]
cmp eax, 0x7b
je 0x55cbbd
cmp eax, 0x3c
je 0x55cc3d
cmp eax, 0x27
jne 0x55ccf2
cmp eax, 0x27
mov ebp, 0x7d
mov eax, 0x27
cmove ebp, eax
cmp ebx, 0x1b
jne 0x55cc62
cmp ebp, 0x7d
je 0x55cc62
lea eax, [edi + 2]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0xbc]
push 0xa1
push 0xffff
push dword [eax + 0x74]
lea eax, [esp + 0x3c]
push edx
push eax
call fcn.00560440
add esp, 0x1c
test eax, eax
je 0x55cc52
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
cmp ecx, edx
jae 0x55cc44
movzx eax, word [ecx]
cmp eax, ebp
jne 0x55cc44
mov eax, dword [esp + 0x3c]
mov edi, ecx
mov ebx, dword [esp + 0xb4]
mov ecx, edx
jmp 0x55e670
mov ebp, 0x3e
jmp 0x55cbcd
mov ecx, 0x9d
mov dword [esp + 0x20], ecx
jmp 0x55ca9e
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x55ca9a
mov edx, dword [esp + 0x10]
push dword [esp + 0xb4]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push ebp
push dword [esp + 0x5c]
lea eax, [esp + 0xc4]
push edx
push eax
call fcn.005601f0
add esp, 0x24
test eax, eax
je 0x55cce9
cmp ebx, 0x1c
je 0x55cca6
mov eax, 0x80210000
cmp ebp, 0x7d
jne 0x55ccab
mov eax, 0x80040000
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esi], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
add esi, 0xc
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov ecx, dword [esp + 0x20]
jmp 0x55ca93
cmp ebx, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [esp + 0x20], ecx
jmp 0x55ca9e
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x24], 1
je case.0x55ca79.13
cmp ebx, 7
je 0x55cd35
cmp ebx, 9
je 0x55cd35
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x55cd3a
mov eax, 0x80180010
mov dword [esi], eax
add ebx, 0xfffffffa
add esi, 4
mov dword [esp + 0x1c], esi
cmp ebx, 5
ja case.default.0x55cd4f
jmp dword [ebx*4 + 0x55ed14]
mov dword [esi], 0x3000d
jmp 0x55cadb
mov dword [esi], 0x70000
jmp 0x55cadb
mov dword [esi], 0x90000
jmp 0x55cadb
mov edi, dword [esp + 0xa8]
neg ebx
mov ecx, edi
mov eax, ebx
sub ecx, dword [ebp + 0x1c]
or eax, 0x80030000
sar ecx, 1
dec ecx
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], esi
cmp ebx, 0xa
jge 0x55cdc7
cmp dword [ebp + ebx*4 + 0x2c], 0xffffffff
jne 0x55cdd0
mov edx, dword [esp + 0x18]
mov dword [ebp + ebx*4 + 0x2c], ecx
mov ebx, ebp
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x24], 1
jmp 0x55c410
mov dword [esi], ecx
add esi, 4
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x10]
mov ebx, ebp
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x24], 1
jmp 0x55c410
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0xa8]
mov dword [esi], ecx
mov dword [esp + 0x24], 1
jmp 0x55c53f
cmp dword [esp + 0x44], 0
lea edi, [eax + 2]
movzx ecx, word [eax]
je 0x55ce3c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55ce3c
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [esi], ecx
mov dword [esp + 0x24], 1
jmp 0x55c53f
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esi], 0x80090000
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esi], 0x80160000
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esi], 0x80170000
add esi, 4
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov dword [esp + 0x54], 0x80340000
jmp 0x55cf27
mov dword [esp + 0x54], 0x80370000
jmp 0x55cf27
mov dword [esp + 0x54], 0x803a0000
jmp 0x55cf27
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x78]
push eax
push ecx
lea eax, [esp + 0xb8]
push eax
call fcn.00560580
add esp, 0x14
test eax, eax
jne 0x55cf18
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x55ea5a
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x24], 1
jmp 0x55c53d
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x54], 0x803d0000
test ebp, ebp
je 0x55ea0d
cmp dword [esi - 4], 0x802a0000
lea ecx, [esi - 4]
jne 0x55cf5f
mov edx, dword [esp + 0x7c]
cmp ecx, edx
jb 0x55cf4f
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x55cf43
mov dword [edx], 0x801a0000
mov dword [esi + 4], 0x80190000
add esi, 8
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esi], eax
add esi, 4
cmp ebx, 0x7b
mov dword [esp + 0x1c], esi
mov ebx, dword [esp + 0xb4]
jne 0x55c410
mov eax, dword [esp + 0x70]
mov dword [esi], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 4], eax
add esi, 8
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov eax, ecx
mov dword [esp + 0x24], 1
sub eax, edi
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x55d091
push 6
push 0x6983a4
push edi
call fcn.0058f420
add esp, 0xc
test eax, eax
je 0x55cfe5
push 6
push str._:_:__
push edi
call fcn.0058f420
add esp, 0xc
test eax, eax
jne 0x55d08d
mov dword [esi], 0x80180005
lea eax, [esi + 8]
cmp word [edi + 4], 0x3c
jne 0x55cffe
mov dword [esi + 4], 0x80230000
jmp 0x55d01b
mov ecx, dword [esp + 0xb0]
mov dword [esi + 4], 0x80250000
mov dword [ecx], 1
mov dword [eax], 0
add eax, 4
test dword [esp + 0x2c], 0x20000
lea esi, [eax + 4]
jne 0x55d056
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [eax], 0x8018000b
mov dword [esi], 0x80190000
add esi, 4
add edi, 0xc
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [eax], 0x80180010
mov dword [esi], 0x90000
add esi, 4
mov dword [esi], 0x80190000
add esi, 4
add edi, 0xc
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x55d0c2
movzx eax, word [edi]
cmp eax, 0x3a
je 0x55d0a7
cmp eax, 0x2e
je 0x55d0a7
cmp eax, 0x3d
jne 0x55d0c2
lea eax, [esp + 0x58]
push eax
push ecx
push edi
call fcn.005570c0
add esp, 0xc
test eax, eax
jne 0x55ea1a
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x28], edx
cmp edi, ecx
jae 0x55d1c5
mov esi, dword [esp + 0x44]
movzx ebx, word [edi]
add edi, 2
mov dword [esp + 0x38], ebx
mov ecx, ebx
mov dword [esp + 0xa8], edi
mov ebp, edi
test esi, esi
je 0x55d126
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55d126
movzx eax, word [edi]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or ebx, eax
add ebx, 0x10000
add edi, 2
mov dword [esp + 0x38], ebx
mov ecx, ebx
mov dword [esp + 0xa8], edi
mov ebp, edi
cmp ecx, 0x5c
jne 0x55d183
mov ecx, dword [esp + 0x10]
cmp ebp, ecx
jae 0x55d14a
cmp word [edi], 0x45
jne 0x55d14a
mov eax, 2
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x55d1b3
mov eax, ecx
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 6
jl 0x55d1c1
push 3
push 0x6983b4
push edi
call fcn.0058f420
mov edx, dword [esp + 0x34]
add esp, 0xc
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x55d1c1
mov eax, 6
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x55d1b3
test dword [esp + 0x2c], 0x1000000
je 0x55d197
cmp ecx, 0x20
je 0x55d1af
cmp ecx, 9
je 0x55d1af
test edx, edx
jne 0x55d1bd
cmp ecx, 0x5e
mov ecx, dword [esp + 0x10]
jne 0x55d1c1
mov edx, 1
mov dword [esp + 0x28], edx
jmp 0x55d1b3
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jb 0x55d0d4
jmp 0x55d1c1
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
cmp ebx, 0x5d
jne 0x55d203
mov eax, dword [esp + 0xb4]
test byte [eax + 0x6c], 1
je 0x55d203
mov ebx, dword [esp + 0xb4]
test edx, edx
mov ebp, dword [esp + 0x14]
mov edx, 0x800c0000
mov eax, 0x800b0000
cmovne eax, edx
mov edx, dword [esp + 0x18]
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x55c410
test edx, edx
mov eax, 0x800a0000
mov edx, 0x800e0000
cmovne eax, edx
mov dword [esi], eax
add esi, 4
xor edx, edx
mov dword [esp + 0x30], edx
nop dword [eax]
cmp dword [esp + 0x5c], 0
mov ebp, 1
je 0x55d257
cmp ebx, 0x5c
jne 0x55d4c8
cmp edi, ecx
jae 0x55d4c8
cmp word [edi], 0x45
jne 0x55d4c8
mov dword [esp + 0x5c], 0
add edi, 2
jmp 0x55d681
test dword [esp + 0x2c], 0x1000000
je 0x55d273
cmp ebx, 0x20
je 0x55d681
cmp ebx, 9
je 0x55d681
cmp ebx, 0x5b
jne 0x55d3e2
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl 0x55d4c8
movzx eax, word [edi]
cmp eax, 0x3a
je 0x55d2a2
cmp eax, 0x2e
je 0x55d2a2
cmp eax, 0x3d
jne 0x55d4c8
lea eax, [esp + 0x58]
push eax
push ecx
push edi
call fcn.005570c0
add esp, 0xc
test eax, eax
je 0x55d4c4
mov dword [esp + 0x28], 0
cmp dword [esp + 0x30], ebp
je 0x55ea6d
cmp word [edi], 0x3a
jne 0x55ea34
add edi, 2
mov edx, edi
cmp word [edi], 0x5e
jne 0x55d2e9
add edi, 2
mov dword [esp + 0x28], ebp
mov edx, edi
mov ebp, dword [esp + 0x58]
mov ecx, 0x697f20
sub ebp, edx
mov dword [esp + 0x40], ecx
sar ebp, 1
xor ebx, ebx
nop dword [eax]
movzx eax, byte [ebx + 0x69823c]
cmp ebp, eax
jne 0x55d320
push ebp
push ecx
push edx
call fcn.0058f420
add esp, 0xc
test eax, eax
je 0x55d342
mov ecx, dword [esp + 0x40]
mov edx, edi
movzx eax, byte [ebx + 0x69823c]
inc ecx
inc ebx
add ecx, eax
mov dword [esp + 0x40], ecx
cmp byte [ebx + 0x69823c], 0
jne 0x55d300
mov ecx, 0x82
jmp 0x55ec04
test ebx, ebx
js 0x55d338
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x10]
add edi, 4
add eax, 0xfffffffe
cmp edi, eax
jae 0x55d369
cmp word [edi], 0x2d
jne 0x55d369
cmp word [edi + 2], 0x5d
jne 0x55ea6d
xor edx, edx
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x30], edx
je 0x55d3c9
mov eax, dword [ebx*8 + 0x72af88]
mov edx, dword [ebx*8 + 0x72af8c]
test eax, eax
js 0x55d3ae
mov ecx, dword [esp + 0x28]
xor ecx, 1
shl eax, 0x10
sub ecx, 0x7fe7fff1
or eax, edx
mov edx, dword [esp + 0x30]
mov dword [esi], ecx
mov dword [esi + 4], eax
add esi, 8
jmp 0x55d681
test edx, edx
mov edx, dword [esp + 0x30]
je 0x55d3c9
mov eax, dword [esp + 0x28]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [esi], eax
jmp 0x55d67e
mov eax, dword [esp + 0x28]
add eax, 0x801c
shl eax, 0x10
mov dword [esi], eax
mov dword [esi + 4], ebx
add esi, 8
jmp 0x55d681
cmp ebx, 0x2d
jne 0x55d409
cmp edx, 2
jb 0x55d4c8
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov edx, ebp
cmove eax, ecx
mov dword [esi], eax
jmp 0x55d67a
cmp ebx, 0x5c
jne 0x55d4c8
mov ebp, dword [esp + 0xb4]
push ebp
push 1
mov dword [esp + 0x60], edi
mov eax, dword [ebp]
push dword [eax + 0x24]
lea eax, [esp + 0x2c]
push dword [esp + 0x38]
push eax
lea eax, [esp + 0x4c]
push eax
push ecx
lea eax, [esp + 0xc4]
push eax
call fcn.00555f10
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov ebx, eax
test ecx, ecx
je 0x55d4a2
test byte [esp + 0x78], 2
je 0x55ea5a
cmp edi, dword [esp + 0x10]
jb 0x55d467
mov ebx, 0x5c
jmp 0x55d4c2
cmp dword [esp + 0x44], 0
lea ecx, [edi + 2]
movzx ebx, word [edi]
mov edi, ecx
je 0x55d4c2
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55d4c2
movzx eax, word [edi]
and ebx, 0x3ff
shl ebx, 0xa
lea edi, [ecx + 2]
and eax, 0x3ff
or ebx, eax
add ebx, 0x10000
jmp 0x55d4c2
cmp ebx, 0x1a
ja case.0x55d4b0.1
mov ebx, eax
movzx eax, byte [eax + 0x55ed44]
jmp dword [eax*4 + 0x55ed2c]
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
mov edx, dword [esp + 0x30]
cmp edx, 1
jne 0x55d675
cmp ebx, dword [esi - 8]
jne 0x55d64e
sub esi, 4
xor edx, edx
mov dword [esp + 0x30], edx
jmp 0x55d681
mov edi, dword [esp + 0xa8]
mov ebx, 8
xor ebp, ebp
jmp 0x55d4c4
mov dword [esp + 0x5c], 1
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x30]
jmp 0x55d681
cmp dword [esp + 0x30], 1
je 0x55ea66
xor edx, edx
lea ecx, [ebx - 6]
mov dword [esp + 0x30], edx
cmp ecx, 0xf
ja case.0x55d534.13
movzx eax, byte [ecx + 0x55ed74]
jmp dword [eax*4 + 0x55ed60]
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x55d58c
test dword [esp + 0x2c], 0x20000
jne 0x55d565
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x55d58c
cmp ebx, 7
je 0x55d579
cmp ebx, 9
je 0x55d579
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x55d57e
mov eax, 0x80180010
mov dword [esi], eax
add esi, 4
cmp ecx, 5
ja case.default.0x55d58c
jmp dword [ecx*4 + 0x55ed84]
mov dword [esi], 0x3000d
add esi, 4
jmp case.default.0x55d58c
mov dword [esi], 0x70000
add esi, 4
jmp case.default.0x55d58c
mov dword [esi], 0x90000
add esi, 4
jmp case.default.0x55d58c
xor eax, eax
mov word [esp + 0x1c], ax
mov word [esp + 0x24], ax
lea eax, [esp + 0x20]
push ebp
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.0055b970
add esp, 0x18
test eax, eax
je 0x55ead4
cmp dword [esp + 0x9c], 0
je 0x55d608
xor eax, eax
cmp ebx, 0xf
sete al
lea ebx, [eax + 0xf]
movzx ecx, word [esp + 0x1c]
lea eax, [ebx - 0x7fe80000]
mov edx, dword [esp + 0x30]
mov dword [esi], eax
movzx eax, word [esp + 0x24]
shl ecx, 0x10
or ecx, eax
mov dword [esi + 4], ecx
add esi, 8
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0xa8]
add eax, 0xfffffffe
cmp edi, eax
jae 0x55d681
cmp word [edi], 0x2d
jne 0x55d681
cmp word [edi + 2], 0x5d
jne 0x55ea6d
jmp 0x55d681
jb 0x55ea77
test ebp, ebp
jne 0x55d668
cmp dword [esi - 4], 0x801f0000
jne 0x55d668
mov dword [esi - 4], 0x801e0000
mov dword [esi], ebx
add esi, 4
xor edx, edx
mov dword [esp + 0x30], edx
jmp 0x55d681
lea edx, [ebp + 2]
mov dword [esi], ebx
mov dword [esp + 0x30], edx
add esi, 4
cmp edi, dword [esp + 0x10]
jae 0x55ea84
movzx ebx, word [edi]
add edi, 2
cmp dword [esp + 0x44], 0
mov ecx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0xa8], edi
je 0x55d6dc
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55d6dc
movzx eax, word [edi]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or ebx, eax
add ebx, 0x10000
add edi, 2
mov dword [esp + 0x38], ebx
mov ecx, ebx
mov dword [esp + 0xa8], edi
cmp ecx, 0x5d
mov ecx, dword [esp + 0x10]
jne 0x55d220
cmp dword [esp + 0x5c], 0
jne 0x55d220
cmp edx, 1
jne 0x55d700
mov dword [esi - 4], 0x2d
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esi], 0x800d0000
add esi, 4
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], esi
jmp 0x55c410
cmp edi, ecx
jae 0x55ebff
movzx eax, word [edi]
cmp eax, 0x3f
je 0x55db61
mov ebp, dword [esp + 0x14]
cmp eax, 0x2a
je 0x55d79e
mov ebx, dword [esp + 0xb4]
inc ebp
test dword [esp + 0x2c], 0x2000
mov dword [esp + 0x14], ebp
jne 0x55d787
mov ecx, dword [ebx + 0x74]
cmp ecx, 0xffff
jae 0x55eb6d
inc ecx
mov dword [ebx + 0x74], ecx
or ecx, 0x80080000
mov dword [esi], ecx
add esi, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
jmp 0x55c40c
mov ecx, 0x801a0000
mov dword [esi], ecx
add esi, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
jmp 0x55c40c
mov edx, dword [esp + 0x18]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55c3f4
movzx ecx, word [edi + 2]
mov ebp, dword [esp + 0x14]
cmp ecx, 0x29
je 0x55c3f0
mov ebp, dword [esp + 0xb4]
cmp ecx, 0xff
ja 0x55d9d9
mov eax, dword [ebp + 0x10]
test byte [ecx + eax], 4
je 0x55d9d9
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push ebp
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x48], 0x697dc0
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push 0
push dword [esp + 0x5c]
lea eax, [esp + 0xc4]
push ebx
push eax
call fcn.005601f0
add esp, 0x24
test eax, eax
je 0x55ead4
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x38], edi
cmp edi, ebx
jae 0x55eaac
cmp word [edi], 0x3a
jne 0x55eaac
mov esi, dword [esp + 0x40]
xor ebx, ebx
mov edi, dword [esp + 0x34]
xor ebp, ebp
mov dword [esp + 0x3c], ebx
cmp edi, dword [ebx*8 + 0x697e98]
jne 0x55d86b
push edi
push esi
push dword [esp + 0x58]
call fcn.0058f420
add esp, 0xc
test eax, eax
je 0x55d87f
inc esi
add esi, dword [ebx*8 + 0x697e98]
inc ebx
mov dword [esp + 0x3c], ebx
mov ebp, ebx
cmp ebx, 0x11
jl 0x55d850
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x38]
cmp ebp, 0x11
jge 0x55eaac
mov edx, dword [ebx*8 + 0x697e9c]
mov ebx, dword [esp + 0x28]
test ebx, ebx
jle 0x55d8b0
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x55ea8e
cmp edx, 0x80250000
ja 0x55d921
je 0x55d94c
cmp edx, 0x80230000
ja 0x55d90b
je 0x55e223
cmp edx, 0x80020000
je case.0x55db8b.62
cmp edx, 0x80220000
jne 0x55d917
mov ecx, dword [esp + 0x14]
add edi, 2
mov ebx, dword [esp + 0xb4]
movzx eax, cx
mov ecx, dword [esp + 0x10]
mov dword [esi], edx
add esi, 4
inc eax
mov dword [esp + 0x1c], esi
movzx ebp, ax
mov dword [esp + 0x14], ebp
jmp 0x55c40c
cmp edx, 0x80240000
je 0x55e255
mov ecx, 0xbd
jmp 0x55ec04
cmp edx, 0x80280000
ja 0x55d954
je 0x55d94c
cmp edx, 0x80260000
je 0x55d94c
cmp edx, 0x80270000
jne 0x55d917
mov dword [esi], edx
add edi, 2
mov edx, dword [esp + 0xb4]
jmp 0x55e2d8
sub edi, 2
jmp 0x55e2ab
cmp edx, 0x8fff0000
jne 0x55d917
mov ecx, dword [esp + 0x14]
add edi, 2
mov ebp, dword [esp + 0x4c]
inc ecx
mov dword [esi], 0x80220000
mov dword [esi + 4], 0x80020000
add esi, 8
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], esi
test ebp, ebp
jne 0x55d994
mov ebx, dword [esp + 0xb4]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x4c], ebp
jmp 0x55d9af
add ebp, 0xc
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x84]
jae 0x55eb96
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov eax, 4
mov word [ebp + 6], ax
mov eax, dword [esp + 0x2c]
and eax, 0x10424e8
mov word [ebp], cx
mov ecx, dword [esp + 0x10]
mov dword [ebp + 8], eax
mov ebp, dword [esp + 0x14]
jmp 0x55c410
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push ebp
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x84], 0x697d20
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push 0
push dword [esp + 0x5c]
lea eax, [esp + 0xc4]
push ebx
push eax
call fcn.005601f0
add esp, 0x24
test eax, eax
je 0x55ead4
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x38], edi
cmp edi, ebx
jae 0x55ebb9
movzx eax, word [edi]
cmp eax, 0x3a
je 0x55da40
cmp eax, 0x29
jne 0x55ebb9
mov edi, dword [esp + 0x7c]
xor ebx, ebx
mov dword [esp + 0x3c], ebx
xor esi, esi
mov ebp, 0x697d50
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp]
jne 0x55da6c
push eax
push edi
push dword [esp + 0x58]
call fcn.0058f420
add esp, 0xc
test eax, eax
je 0x55da7f
inc edi
inc ebx
add edi, dword [ebp]
mov esi, ebx
add ebp, 0xc
mov dword [esp + 0x3c], ebx
cmp ebx, 9
jl 0x55da51
mov edi, dword [esp + 0x38]
cmp esi, 9
mov esi, dword [esp + 0x1c]
jge 0x55ebb9
cmp word [edi], 0x3a
jne 0x55daa6
lea eax, [edi + 2]
cmp eax, dword [esp + 0x10]
jae 0x55daa6
cmp word [eax], 0x29
cmove edi, eax
lea ecx, [ebx + ebx*2]
mov ebx, dword [ecx*4 + 0x697d58]
test ebx, ebx
jle 0x55dabe
cmp word [edi], 0x3a
jne 0x55eab6
mov ecx, dword [ecx*4 + 0x697d54]
lea edx, [esi + 4]
xor eax, eax
mov dword [esp + 0x7c], esi
cmp ecx, 0x802a0000
sete al
mov dword [esp + 0x24], eax
movzx eax, word [edi]
add edi, 2
cmp eax, 0x3a
jne 0x55db41
test ebx, ebx
jns 0x55daf8
mov dword [esp + 0x80], ecx
mov eax, 0x80290000
jmp 0x55db0a
xor eax, eax
mov ebx, 0x10000
cmp ecx, 0x80290000
cmovne eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x14]
mov dword [esi], eax
lea esi, [edx + 4]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x94], edi
mov dword [esp + 0x6c], 1
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x14]
mov dword [esi], ecx
mov esi, edx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
jmp 0x55c410
add edi, 2
mov dword [esp + 0xa8], edi
mov edx, edi
cmp edi, ecx
jae 0x55ebff
movzx ecx, word [edi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x55db8b.34
movzx eax, byte [eax + 0x55edd4]
jmp dword [eax*4 + 0x55ed9c]
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x55ebff
movzx eax, word [edi]
cmp eax, 0x3c
jne 0x55dbba
mov eax, 0x3e
jmp 0x55e345
cmp eax, 0x3e
je 0x55dc9d
cmp eax, 0x3d
jne 0x55eac0
mov ebx, dword [esp + 0xb4]
lea eax, [esp + 0x20]
push ebx
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push 0x29
push dword [esp + 0x5c]
lea eax, [esp + 0xc4]
push ecx
push eax
call fcn.005601f0
add esp, 0x24
test eax, eax
je 0x55ead4
mov dword [esi], 0x80040000
mov eax, dword [esp + 0x34]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
add esi, 0xc
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], 1
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x55c410
mov ecx, dword [esp + 0x10]
xor eax, eax
add edi, 2
mov dword [esp + 0x3c], eax
cmp edi, ecx
jae 0x55eaca
cmp word [edi], 0x29
jne 0x55eaca
mov ebx, dword [esp + 0xb4]
jmp 0x55e670
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x55dc8f
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x55dc8f
cmp eax, 0x39
jbe 0x55e5f9
mov ecx, 0x81
jmp 0x55ec04
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
lea eax, [esp + 0x20]
push ebx
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push 0x29
push dword [esp + 0x5c]
lea eax, [esp + 0xc4]
push ecx
push eax
call fcn.005601f0
add esp, 0x24
test eax, eax
je 0x55ead4
mov dword [esi], 0x80210000
jmp 0x55dc0d
mov ebp, dword [esp + 0x10]
lea edx, [edi + 2]
mov edi, edx
cmp edx, ebp
jae 0x55ebff
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
dec eax
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x55dd1d
test byte [esp + 0x2c], 4
je 0x55dd1d
lea eax, [esi - 0x10]
cmp ecx, eax
jne 0x55dd1d
cmp dword [esi - 4], 0xff
cmove esi, ecx
movzx ebx, word [edi]
mov eax, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 1
cmp ebx, 0x29
je 0x55ddd2
cmp ebx, 0x30
jb 0x55dd49
cmp ebx, 0x39
jbe 0x55ddd2
mov ecx, dword [0x6b4a34]
xor eax, eax
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x55dd74
nop dword [eax]
cmp ebx, ecx
je 0x55dd7e
mov ecx, dword [eax*4 + 0x6b4a38]
inc eax
mov dword [esp + 0x3c], eax
test ecx, ecx
jne 0x55dd60
mov ecx, 0xb6
jmp 0x55ec04
mov ecx, dword [eax*4 + 0x6b4a10]
test ecx, ecx
je 0x55dd74
mov dword [esi], 0x80070000
nop
add edi, 2
cmp edi, ebp
jae 0x55eae4
movzx eax, word [edi]
cmp eax, ecx
jne 0x55dd90
add edi, 2
cmp edi, ebp
jae 0x55ddb0
movzx eax, word [edi]
cmp eax, ecx
je 0x55dd90
mov ebx, dword [esp + 0xb4]
mov eax, edi
sub eax, edx
mov ecx, edi
sar eax, 1
mov dword [esi + 0xc], eax
add esi, 0x10
sub edx, dword [ebx + 0x1c]
sar edx, 1
mov dword [esp + 0x48], edx
mov dword [esi], edx
jmp 0x55de18
xor ebx, ebx
mov dword [esi], 0x80060000
add esi, 0xc
nop dword [eax]
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x30
jb 0x55de0f
cmp eax, 0x39
ja 0x55de0f
lea ecx, [ebx - 6]
lea ecx, [ebx + ecx*4]
lea ebx, [eax + ecx*2]
lea edi, [edx + 2]
mov ecx, edi
cmp ebx, 0xff
jg 0x55eaf0
mov edx, edi
cmp edi, ebp
jb 0x55dde0
mov dword [esi], ebx
mov ebx, dword [esp + 0xb4]
cmp ecx, ebp
jae 0x55eafa
cmp word [edi], 0x29
jne 0x55eafa
mov edx, dword [esp + 0x18]
lea edi, [ecx + 2]
mov eax, edi
mov ecx, ebp
sub eax, dword [ebx + 0x1c]
mov ebp, dword [esp + 0x14]
sar eax, 1
add esi, 4
mov dword [edx + 4], eax
mov dword [edx + 8], 0
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x55ebff
mov ebp, dword [esp + 0x14]
movzx eax, word [edi]
inc ebp
mov dword [esp + 0x14], ebp
cmp eax, 0x3f
je 0x55e1d3
cmp eax, 0x2a
je 0x55e1d3
mov ebx, dword [esp + 0xb4]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x40]
push eax
push 0xa1
push 0xffff
push dword [ebx + 0x74]
lea eax, [esp + 0xbc]
push ecx
push eax
call fcn.00560440
add esp, 0x1c
test eax, eax
je 0x55def0
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test ecx, ecx
jle 0x55eb04
mov dword [esi], 0x80120000
mov eax, edi
sub eax, dword [ebx + 0x1c]
sar eax, 1
sub eax, 2
mov dword [esi + 8], ecx
mov dword [esi + 4], eax
add esi, 8
mov dword [esp + 0x48], eax
jmp 0x55e1ae
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x55ea5a
mov ecx, dword [esp + 0x10]
mov ebp, ecx
mov ebx, dword [esp + 0xa8]
sub ebp, ebx
sar ebp, 1
cmp ebp, 0xa
jl 0x55e042
push 7
push str.VERSION
push ebx
call fcn.0058f420
add esp, 0xc
test eax, eax
jne 0x55e03e
cmp word [ebx + 0xe], 0x29
lea edi, [ebx + 0xe]
je 0x55e03e
xor ebp, ebp
xor ebx, ebx
cmp word [edi], 0x3e
mov eax, edi
mov dword [esp + 0x40], ebp
jne 0x55df54
add edi, 2
lea ebp, [ebx + 1]
mov eax, edi
cmp word [edi], 0x3d
jne 0x55eb0e
lea edi, [eax + 2]
movzx eax, word [edi]
mov dword [esp + 0xa8], edi
cmp eax, 0x30
jb 0x55eb0e
cmp eax, 0x39
ja 0x55eb0e
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x44]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
push dword [esp + 0x24]
lea eax, [esp + 0xc0]
push eax
call fcn.00560440
add esp, 0x1c
test eax, eax
je 0x55ead4
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x55eb0e
cmp word [edi], 0x2e
jne 0x55e024
add edi, 2
cmp edi, edx
jae 0x55eb0e
movzx eax, word [edi]
cmp eax, 0x30
jb 0x55eb0e
cmp eax, 0x39
ja 0x55eb0e
sub eax, 0x30
add edi, 2
lea ebx, [eax + eax*4]
add ebx, ebx
cmp edi, edx
jae 0x55eb0e
movzx eax, word [edi]
cmp eax, 0x30
jb 0x55e01a
cmp eax, 0x39
ja 0x55e01a
add eax, 0xffffffd0
lea ecx, [edi + 2]
add ebx, eax
mov edi, ecx
cmp ecx, edx
jae 0x55eb0e
cmp word [edi], 0x29
jne 0x55eb0e
mov eax, dword [esp + 0x40]
mov dword [esi], 0x80150000
mov dword [esi + 4], ebp
mov dword [esi + 8], eax
add esi, 0xc
mov dword [esi], ebx
jmp 0x55e1a3
mov ecx, dword [esp + 0x10]
movzx eax, word [ebx]
mov dword [esp + 0x28], 0
cmp eax, 0x52
jne 0x55e06f
cmp ebp, 1
jle 0x55e08a
cmp word [ebx + 2], 0x26
lea eax, [ebx + 2]
jne 0x55e08a
mov ebx, 1
mov dword [esp + 0xa8], eax
jmp 0x55e098
cmp eax, 0x3c
jne 0x55e07d
mov ebx, dword [esp + 0x28]
lea edi, [eax + 2]
jmp 0x55e09d
cmp eax, 0x27
jne 0x55e08a
mov ebx, dword [esp + 0x28]
mov edi, eax
jmp 0x55e09d
sub ebx, 2
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x28]
mov edi, 0x29
push dword [esp + 0xb4]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push edi
push dword [esp + 0x5c]
lea eax, [esp + 0xc4]
push ecx
push eax
call fcn.005601f0
add esp, 0x24
test eax, eax
je 0x55ead4
mov ebp, dword [esp + 0x34]
test ebx, ebx
je 0x55e0f3
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80130000
sub edi, 2
jmp 0x55e18c
cmp edi, 0x29
jne 0x55e17f
mov ebx, dword [esp + 0x50]
cmp ebp, 6
jne 0x55e12c
push 6
push str.DEFINE
push ebx
call fcn.0058f420
add esp, 0xc
test eax, eax
jne 0x55e12c
mov eax, 0x80100000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x55e18c
mov eax, 1
mov dword [esp + 0x3c], eax
mov ecx, eax
cmp ebp, eax
jle 0x55e15d
mov edi, eax
nop dword [eax]
movzx edx, word [ebx + eax*2]
mov ecx, edi
cmp edx, 0x30
jb 0x55e15d
cmp edx, 0x39
ja 0x55e15d
inc eax
mov dword [esp + 0x3c], eax
mov ecx, eax
mov edi, ecx
cmp eax, ebp
jl 0x55e140
cmp word [ebx], 0x52
jne 0x55e16c
mov eax, 0x80140000
cmp ecx, ebp
jge 0x55e171
mov eax, 0x80110000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x55e18c
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80110000
mov eax, dword [esi]
add esi, 4
cmp eax, 0x80100000
je 0x55e19d
mov dword [esi], ebp
add esi, 4
mov eax, dword [esp + 0x48]
mov dword [esi], eax
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0xb4]
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x55eb18
cmp word [edi], 0x29
jne 0x55eb18
add edi, 2
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x55c40c
mov ebx, dword [esp + 0xb4]
mov edi, edx
mov dword [esi], 0x800f0000
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x68], 2
jmp 0x55c40c
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
inc ebp
mov ebx, dword [esp + 0xb4]
mov dword [esi], 0x80020000
add esi, 4
mov dword [esp + 0x1c], esi
add edi, 2
mov dword [esp + 0x14], ebp
jmp 0x55c40c
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80230000
jmp 0x55e2d8
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80270000
jmp 0x55e2d8
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80240000
jmp 0x55e2d8
mov eax, dword [esp + 0x10]
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55dbb0
movzx eax, word [edi + 2]
cmp eax, 0x3d
je 0x55e2a2
cmp eax, 0x21
je 0x55e290
cmp eax, 0x2a
jne 0x55dbb0
cmp eax, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x55e2a7
mov edx, 0x80250000
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0xb0]
mov dword [esi], edx
mov edx, dword [esp + 0xb4]
mov dword [eax], 1
mov eax, edi
add edi, 4
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, 2
mov dword [esi + 4], eax
add esi, 4
mov dword [esp + 0x48], eax
mov ebp, dword [esp + 0x14]
add esi, 4
inc ebp
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], ebp
test ebx, ebx
jle 0x55e330
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jne 0x55e2fd
mov ebp, dword [edx + 0x14]
mov dword [esp + 0x4c], ebp
jmp 0x55e311
add ebp, 0xc
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x84]
jae 0x55eb96
mov ecx, dword [esp + 0x14]
mov eax, 2
mov word [ebp + 6], ax
mov eax, dword [esp + 0x2c]
and eax, 0x10424e8
mov word [ebp], cx
mov dword [ebp + 8], eax
mov ebp, ecx
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
jmp 0x55c40c
mov eax, 0x27
mov ebx, dword [esp + 0xb4]
lea ecx, [esp + 0x20]
push ebx
push ecx
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
push dword [esp + 0x5c]
lea eax, [esp + 0xc4]
push dword [esp + 0x2c]
push eax
call fcn.005601f0
add esp, 0x24
test eax, eax
je 0x55ead4
mov eax, dword [ebx + 0x74]
cmp eax, 0xffff
jae 0x55eb66
inc dword [esp + 0x14]
inc eax
mov dword [ebx + 0x74], eax
or eax, 0x80080000
mov dword [esi], eax
add esi, 4
movzx edx, word [ebx + 0x58]
mov eax, 0x2710
mov dword [esp + 0x1c], esi
cmp dx, ax
jae 0x55eb55
mov ecx, dword [esp + 0x34]
movzx eax, word [ebx + 0x5a]
add ecx, 2
cmp ecx, eax
mov ecx, dword [esp + 0x34]
jbe 0x55e3d2
lea eax, [ecx + 2]
mov word [ebx + 0x5a], ax
mov edi, dword [ebx + 0x64]
xor ebp, ebp
xor eax, eax
mov dword [esp + 0x40], 0
xor ebx, ebx
mov dword [esp + 0x3c], ebp
cmp ax, dx
jae 0x55e463
nop dword [eax]
movzx eax, word [edi + 8]
cmp ecx, eax
jne 0x55e43a
push ecx
push dword [edi]
push dword [esp + 0x58]
call fcn.0058f3e0
add esp, 0xc
test eax, eax
jne 0x55e43a
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x55e46a
test byte [esp + 0x2c], 0x40
je 0x55eb22
mov eax, 1
mov word [edi + 0xa], ax
mov dword [esp + 0x40], eax
mov dword [ecx + 0xbc], eax
jmp 0x55e44d
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x55eb33
movzx eax, word [ecx + 0x58]
inc ebp
mov ecx, dword [esp + 0x34]
add edi, 0xc
mov dword [esp + 0x3c], ebp
mov ebx, ebp
cmp ebp, eax
jl 0x55e3f0
mov ecx, dword [esp + 0xb4]
movzx ecx, word [ecx + 0x58]
mov edx, ecx
cmp ebx, edx
jge 0x55e4ad
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x55c410
mov edi, dword [esp + 0xa8]
mov ebx, ebp
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x55c410
mov ebx, dword [esp + 0xb4]
mov eax, dword [ebx + 0x68]
cmp edx, eax
jb 0x55e547
mov edi, dword [ebx]
lea ebp, [eax + eax]
lea eax, [ebp*2]
add eax, ebp
shl eax, 2
push dword [edi + 8]
mov edi, dword [edi]
mov ecx, edi
push eax
call dword [0x5cb3f0]
call edi
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x55eb44
mov edi, dword [esp + 0xb4]
mov eax, dword [edi + 0x68]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push dword [edi + 0x64]
push ebx
call fcn.00597bd0
add esp, 0xc
cmp dword [edi + 0x68], 0x14
jbe 0x55e536
mov edi, dword [edi]
mov eax, dword [esp + 0xb4]
push dword [edi + 8]
mov edi, dword [edi + 4]
mov ecx, edi
push dword [eax + 0x64]
call dword [0x5cb3f0]
call edi
mov edi, dword [esp + 0xbc]
add esp, 8
mov dword [edi + 0x64], ebx
mov ebx, dword [esp + 0xb4]
movzx ecx, word [ebx + 0x58]
mov dword [ebx + 0x68], ebp
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x34]
movzx eax, cx
mov ebp, dword [esp + 0x14]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x64]
mov dword [eax + ecx*4], edx
movzx eax, word [ebx + 0x58]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x64]
mov word [eax + ecx*4 + 8], di
movzx eax, word [ebx + 0x58]
mov ecx, dword [ebx + 0x64]
mov edi, dword [esp + 0xa8]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x74]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [ebx + 0x58]
mov edx, dword [esp + 0x40]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x64]
mov word [eax + ecx*4 + 0xa], dx
inc word [ebx + 0x58]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
jmp 0x55c410
cmp ecx, 0x2d
jne 0x55e5cd
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55e5cd
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x55e5cd
cmp eax, 0x39
jbe 0x55e5f9
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x4c]
inc ecx
mov dword [esp + 0x14], ecx
test ebp, ebp
jne 0x55e6a4
mov ebx, dword [esp + 0xb4]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x4c], ebp
jmp 0x55e6bf
mov edx, dword [esp + 0x10]
cmp ecx, 0x30
jb 0x55e60f
cmp ecx, 0x39
ja 0x55e60f
mov ebx, dword [esp + 0xb4]
or eax, 0xffffffff
jmp 0x55e619
mov ebx, dword [esp + 0xb4]
mov eax, dword [ebx + 0x74]
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x40]
push ecx
push 0xa1
push 0xffff
push eax
push edx
lea eax, [esp + 0xc0]
push eax
call fcn.00560440
add esp, 0x1c
test eax, eax
je 0x55ead4
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test eax, eax
js 0x55eb77
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x55ebff
cmp word [edi], 0x29
jne 0x55ebff
mov edx, dword [esp + 0x18]
or eax, 0x80200000
mov ebp, dword [esp + 0x14]
mov dword [esi], eax
mov eax, edi
sub eax, dword [ebx + 0x1c]
add edi, 2
sar eax, 1
mov dword [esi + 4], eax
add esi, 8
mov dword [esp + 0x48], eax
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], esi
jmp 0x55c410
add ebp, 0xc
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x84]
jae 0x55eb96
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x2c]
xor eax, eax
mov word [ebp + 6], ax
mov eax, edx
and eax, 0x10424e8
mov word [ebp], cx
mov dword [ebp + 8], eax
cmp word [edi], 0x7c
jne 0x55e71e
movzx eax, word [ebx + 0x74]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov word [ebp + 2], ax
movzx eax, word [ebx + 0x74]
mov word [ebp + 4], ax
mov eax, 1
mov word [ebp + 6], ax
or dword [ebx + 0x70], 0x200000
mov ebp, dword [esp + 0x14]
mov dword [esi], 0x801a0000
add esi, 4
add edi, 2
mov dword [esp + 0x1c], esi
jmp 0x55c410
xor eax, eax
mov dword [esp + 0x38], edx
mov dword [ebp + 2], eax
lea ebx, [esp + 0x40]
xor edx, edx
mov dword [esp + 0x28], 1
xor ebp, ebp
mov dword [esp + 0x70], edx
cmp word [edi], 0x5e
mov ecx, edi
mov dword [esp + 0x40], ebp
jne 0x55e758
and dword [esp + 0x2c], 0xfeffdb57
add edi, 2
mov dword [esp + 0x28], eax
mov ecx, edi
cmp ecx, dword [esp + 0x10]
jae 0x55e826
mov edx, ecx
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x29
je 0x55e81e
cmp eax, 0x3a
je 0x55e81e
sub eax, 0x2d
lea edi, [edx + 2]
cmp eax, 0x4b
ja case.0x55e791.46
movzx eax, byte [eax + 0x55ee2c]
jmp dword [eax*4 + 0x55ee08]
cmp dword [esp + 0x28], ebp
je 0x55eb84
lea ebx, [esp + 0x70]
mov dword [esp + 0x28], ebp
mov ecx, edi
jmp 0x55e812
mov eax, dword [esp + 0xb4]
mov ecx, edi
or dword [ebx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x55e812
or dword [ebx], 8
mov ecx, edi
jmp 0x55e812
or dword [ebx], 0x400
mov ecx, edi
jmp 0x55e812
or dword [ebx], 0x2000
mov ecx, edi
jmp 0x55e812
or dword [ebx], 0x20
mov ecx, edi
jmp 0x55e812
or dword [ebx], 0x40000
mov ecx, edi
jmp 0x55e812
mov eax, dword [ebx]
mov ecx, edi
or eax, 0x80
mov dword [ebx], eax
cmp edi, dword [esp + 0x10]
jae 0x55e812
cmp word [edi], 0x78
jne 0x55e812
or eax, 0x1000000
lea ecx, [edi + 2]
mov dword [ebx], eax
mov edi, ecx
mov edx, ecx
cmp edi, dword [esp + 0x10]
jb 0x55e764
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
mov eax, ebp
and eax, 0x1000080
cmp eax, 0x80
je 0x55e838
test dl, dl
jns 0x55e83e
or edx, 0x1000000
or ebp, dword [esp + 0x2c]
not edx
and edx, ebp
mov dword [esp + 0x2c], edx
cmp ecx, dword [esp + 0x10]
jae 0x55ebff
mov ax, word [edi]
lea edi, [ecx + 2]
mov ebx, dword [esp + 0xb4]
cmp ax, 0x29
jne 0x55e893
mov eax, dword [esp + 0xa0]
mov ebp, dword [esp + 0x4c]
movzx ecx, ax
mov dword [esp + 0x14], ecx
cmp ebp, dword [ebx + 0x14]
jbe 0x55e88d
cmp word [ebp - 0xc], cx
lea eax, [ebp - 0xc]
jne 0x55e88d
mov dword [esp + 0x4c], eax
jmp 0x55e8a0
mov word [ebp], cx
jmp 0x55e8a0
mov dword [esi], 0x801a0000
add esi, 4
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
cmp edx, dword [esp + 0x38]
je 0x55c40c
mov dword [esi], 0x801b0000
mov dword [esi + 4], edx
add esi, 8
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0xb4]
test ebp, ebp
je 0x55e900
mov ecx, dword [esp + 0x14]
cmp word [ebp], cx
jne 0x55e900
test byte [ebp + 6], 1
je 0x55e900
movzx eax, word [ebp + 4]
mov ecx, dword [ebx + 0x74]
cmp ecx, eax
jbe 0x55e8f9
mov word [ebp + 4], cx
movzx eax, word [ebp + 2]
mov dword [ebx + 0x74], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esi], 0x80010000
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x55c410
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x24], 1
test ebp, ebp
je 0x55e99e
mov ecx, dword [esp + 0x14]
cmp word [ebp], cx
jne 0x55e99e
mov eax, dword [esp + 0x2c]
movzx ecx, word [ebp + 6]
and eax, 0xfefbdb17
or eax, dword [ebp + 8]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x2c], eax
mov eax, ecx
test cl, 1
je 0x55e96a
movzx edx, word [ebp + 4]
cmp edx, dword [ebx + 0x74]
jbe 0x55e96a
mov dword [ebx + 0x74], edx
movzx eax, word [ebp + 6]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, 1
mov dword [esp + 0x24], ecx
test al, 4
je 0x55e984
mov dword [esi], 0x80190000
add esi, 4
cmp ebp, dword [ebx + 0x14]
jne 0x55e991
xor eax, eax
mov dword [esp + 0x4c], eax
jmp 0x55e9a5
sub ebp, 0xc
mov dword [esp + 0x24], ecx
mov dword [esp + 0x4c], ebp
jmp 0x55e9a5
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x14]
test bp, bp
je 0x55eb9d
mov ecx, dword [esp + 0x10]
add ebp, 0xffff
mov dword [esi], 0x80190000
add esi, 4
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], esi
jmp 0x55c40c
mov dword [esi], ebx
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], 1
jmp 0x55c401
mov ecx, 0x8c
jmp 0x55ec04
mov edi, dword [esp + 0x30]
mov ecx, 0xb0
add edi, 0xfffffffe
jmp 0x55ec04
mov ecx, 0x76
jmp 0x55ec04
mov ecx, 0x6d
sub edi, 2
jmp 0x55ec04
movzx eax, word [edi]
xor ecx, ecx
mov edi, dword [esp + 0x30]
add edi, 0xfffffffe
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x55ec04
mov ecx, 0x71
sub edi, 2
jmp 0x55ec04
mov edi, dword [esp + 0xa8]
mov ecx, 0x6b
sub edi, 2
jmp 0x55ec04
mov ecx, 0xab
mov edi, dword [esp + 0xa8]
jmp 0x55ec04
mov edi, dword [esp + 0xa8]
mov ecx, 0x96
jmp 0x55ec04
mov ecx, 0x6c
sub edi, 2
jmp 0x55ec04
mov ecx, 0x6a
jmp 0x55ec04
cmp edx, 0x80270000
je 0x55eaa2
cmp edx, 0x80280000
jne 0x55c9f1
mov ecx, 0xc6
jmp 0x55ec04
mov ecx, 0xc3
jmp 0x55ec04
mov ecx, 0xa6
jmp 0x55ec04
mov ecx, 0x8d
jmp 0x55ec04
mov ecx, 0x9e
jmp 0x55ec04
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x20]
jmp 0x55ec04
mov ecx, 0xb5
mov edi, edx
jmp 0x55ec04
mov ecx, 0x8a
jmp 0x55ec04
mov ecx, 0x8b
jmp 0x55ec04
mov ecx, 0x73
jmp 0x55ec04
mov ecx, 0xb3
jmp 0x55ec04
mov ecx, 0x7c
jmp 0x55ec04
mov edi, dword [esp + 0xa8]
mov ecx, 0x8f
jmp 0x55ec04
mov edi, dword [esp + 0xa8]
mov ecx, 0xa5
jmp 0x55ec04
mov edi, dword [esp + 0xa8]
mov ecx, 0x79
jmp 0x55ec04
mov edi, dword [esp + 0xa8]
mov ecx, 0x95
jmp 0x55ec04
mov edi, dword [esp + 0xa8]
mov ecx, 0xc5
jmp 0x55ec04
mov ecx, 0x73
sub edi, 2
jmp 0x55ec04
mov ecx, 0xc2
mov edi, edx
jmp 0x55ec04
mov ecx, 0x6f
mov edi, edx
jmp 0x55ec04
mov ecx, 0xb8
jmp 0x55ec04
mov ecx, 0x7a
sub edi, 2
jmp 0x55ec04
mov ecx, 0x77
jmp 0x55ec04
cmp dword [esp + 0x6c], 0
je 0x55c329
mov ecx, 0xa0
jmp 0x55ec04
test byte [esp + 0x78], 4
je 0x55ebd7
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [esp + 0x8c]
jb 0x55ebe7
mov ecx, 0xa3
jmp 0x55ec04
mov dword [ecx], 0x80000000
test bp, bp
jne 0x55ebff
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x94
ret
mov ecx, 0x72
mov eax, dword [esp + 0xb4]
sub edi, dword [eax + 0x1c]
sar edi, 1
mov dword [eax + 0x54], edi
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret