Function at 0x55dae0
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 0x55db97
mov dword [esi], 0x80090000
jmp 0x55dba2
test cl, 4
je 0x55dbb0
mov dword [esi], 0x80180005
mov dword [esi + 4], 0x801a0000
add esi, 8
mov dword [esp + 0x1c], esi
test edi, 0x2000000
je 0x55dd1a
mov edi, dword [esp + 0xa8]
cmp edi, ebp
jae 0x55dca7
nop dword [eax + eax]
cmp esi, dword [esp + 0x8c]
jae 0x560560
movzx ecx, word [edi]
mov edx, edi
lea edi, [edx + 2]
test eax, eax
je 0x55dc13
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55dc13
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 0x55dc8b
cmp dword [esp + 0x18], 0
mov ebx, esi
je 0x55dc53
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 0x55dc53
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xc], 0xff
je 0x55dc6e
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 0x55dc8f
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov dword [esi], ecx
add esi, 4
cmp edi, ebp
jb 0x55dbd0
mov ebx, dword [esp + 0xb4]
xor ebp, ebp
mov ecx, esi
test edx, edx
je 0x55dcbc
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 0x55dcfa
test edx, edx
je 0x55dcd7
lea eax, [esi - 0x10]
cmp edx, eax
jne 0x55dcd7
cmp dword [edx + 0xc], 0xff
je 0x55dcf0
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 0x560540
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x560554
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 0x55dd90
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
jmp 0x55dd90
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 0x56052e
mov dword [esp + 0x70], 0
mov dword [esp + 0x40], 0
cmp esi, dword [esp + 0x8c]
jae 0x560560
mov ecx, dword [ebx]
movzx eax, bp
cmp eax, dword [ecx + 0x20]
ja 0x560527
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 0x55de3a
mov eax, ebx
mov dword [esp + 0x30], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55de36
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 0x55de3a
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x5c], 0
je 0x55dede
cmp ebp, 0x5c
jne 0x55de68
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jae 0x55de68
cmp word [edi], 0x45
jne 0x55de68
mov dword [esp + 0x5c], 0
lea edi, [eax + 2]
jmp 0x55dd81
cmp dword [esp + 0x68], 0
jg case.0x55e34d.34
cmp dword [esp + 0x6c], 0
jne 0x55deb5
mov ecx, dword [esp + 0x64]
mov eax, ecx
dec ecx
mov dword [esp + 0x64], ecx
test eax, eax
jg 0x55dead
push dword [esp + 0xb4]
lea eax, [esp + 0x64]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.0055da60
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 0x55dd90
cmp dword [esp + 0x6c], 0
je 0x55e054
mov eax, dword [esp + 0x2c]
and eax, 0x400080
cmp eax, 0x400080
jne 0x55df49
cmp ebp, 0xff
jbe 0x55df14
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x55df14
cmp eax, 0x2029
jne 0x55debd
cmp ebp, 0x100
jae 0x55e054
cmp ebp, 0x23
je 0x55e084
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x55e054
cmp ebp, 0x85
je 0x55e084
cmp ebp, 0x29
je 0x55dfe9
cmp ebp, 0x5c
jne 0x55debd
mov edx, dword [esp + 0x2c]
test edx, 0x400000
je 0x55debd
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.00557890
mov ecx, dword [esp + 0x40]
add esp, 0x20
test ecx, ecx
jne 0x5603da
sub eax, ecx
je 0x55dfd9
sub eax, 0x19
je 0x55f5aa
mov edi, dword [esp + 0xa8]
sub eax, 1
jne 0x560368
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x5c], 1
jmp 0x55dd90
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x38]
jmp 0x55debd
mov eax, edi
mov dword [esp + 0x6c], 0
sub eax, dword [esp + 0x94]
sar eax, 1
dec eax
cmp eax, 0xffff
jg 0x560372
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 0x55dd90
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x80], 0
jmp 0x55dd88
cmp ebp, 0x5c
jne 0x55e084
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x10]
jae 0x55e084
movzx eax, word [edi]
cmp eax, 0x51
je 0x55e070
cmp eax, 0x45
jne 0x55e084
xor edx, edx
lea edi, [ecx + 2]
cmp eax, 0x51
sete dl
mov dword [esp + 0x5c], edx
jmp 0x55dd7d
test byte [esp + 0x2c], 0x80
je 0x55e1bd
cmp ebp, 0x100
jae 0x55e0ab
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x55dd7d
cmp ebp, 0x85
je 0x55dd7d
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x55dd7d
cmp eax, 0x2029
je 0x55dd7d
cmp ebp, 0x23
jne 0x55e1bd
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
cmp edi, ecx
jae 0x55dd90
nop word [eax + eax]
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebx + 0x20]
test eax, eax
je 0x55e134
cmp edi, ecx
jae 0x55e161
push dword [esp + 0x44]
add ebx, 0x94
push ebx
push ecx
push eax
push edi
call fcn.005927d0
add esp, 0x14
test eax, eax
jne 0x55e1a8
mov ebx, dword [esp + 0xb4]
jmp 0x55e161
mov edx, dword [ebx + 0x94]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x55e161
mov ax, word [edi]
cmp ax, word [ebx + 0xa0]
jne 0x55e161
cmp edx, 1
je 0x55e1b1
mov ax, word [edi + 2]
cmp ax, word [ebx + 0xa2]
je 0x55e1b1
mov ecx, dword [esp + 0x10]
add edi, 2
cmp dword [esp + 0x44], 0
mov eax, edi
je 0x55e193
cmp edi, ecx
jae 0x55e193
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x55e100
add edi, 2
mov eax, edi
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
cmp eax, ecx
jb 0x55e100
jmp 0x55dd90
mov edx, dword [ebx]
mov ebx, dword [esp + 0xb4]
mov ecx, dword [esp + 0x10]
lea edi, [edi + edx*2]
jmp 0x55dd88
cmp ebp, 0x28
jne 0x55e201
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x55e23b
cmp word [edi], 0x3f
jne 0x55e23b
cmp word [edi + 2], 0x23
jne 0x55e23b
nop
add edi, 2
cmp edi, ecx
jae 0x560383
cmp word [edi], 0x29
jne 0x55e1e0
cmp edi, ecx
jae 0x560383
add edi, 2
jmp 0x55dd81
cmp ebp, 0x2a
je 0x55e272
cmp ebp, 0x2b
je 0x55e272
cmp ebp, 0x3f
je 0x55e272
cmp ebp, 0x7b
jne 0x55e23b
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.00561f00
add esp, 0x14
test eax, eax
jne 0x55e272
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
mov eax, ecx
dec ecx
mov dword [esp + 0x64], ecx
test eax, eax
jg 0x55e272
push dword [esp + 0xb4]
lea eax, [esp + 0x64]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.0055da60
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 0x55e2d4
cmp ebp, 0x28
jne case.0x55e34d.34
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x55e34d.34
movzx eax, word [edi]
cmp eax, 0x3f
je 0x55e33a
cmp eax, 0x2a
jne case.0x55e34d.34
movzx eax, word [edi + 2]
mov ecx, 0xff
cmp ax, cx
ja case.0x55e34d.34
mov ecx, eax
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ecx + eax], 4
je case.0x55e34d.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 0x55e385
cmp ebx, 0x3f
je 0x55e30e
cmp ebx, 0x2b
jne 0x55e385
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 0x55dd7d
movzx eax, word [edi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x55e34d.34
movzx eax, byte [eax + 0x5605b0]
jmp dword [eax*4 + 0x5605a0]
movzx eax, word [edi + 4]
cmp eax, 0x3d
je case.0x55e34d.33
cmp eax, 0x21
je case.0x55e34d.33
mov edi, dword [esp + 0x30]
add edi, 0xfffffffe
mov ecx, 0x80
jmp 0x560584
cmp edx, 2
jne case.0x55e34d.34
jmp case.0x55e34d.33
lea eax, [ebx - 0x24]
cmp eax, 0x58
ja case.0x55e398.37
movzx eax, byte [eax + 0x560608]
jmp dword [eax*4 + 0x5605d4]
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.00557890
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov ebx, eax
test ecx, ecx
jne 0x55e413
test ebx, ebx
je 0x55e76b
js 0x55e6f7
lea eax, [ebx - 6]
cmp eax, 0x16
ja case.0x55e3f9.13
movzx eax, byte [eax + 0x56067c]
jmp dword [eax*4 + 0x560664]
test dword [esp + 0x2c], 0x100000
je case.0x55e3f9.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 0x560584
mov eax, dword [esp + 0x58]
mov edi, eax
cmp eax, edx
jb 0x55e785
mov ecx, 0x5c
mov dword [esp + 0x24], 1
mov dword [esi], ecx
jmp 0x55debf
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 0x55dd90
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.0055d2f0
add esp, 0x18
test eax, eax
je 0x55e669
cmp dword [esp + 0x98], 0
je 0x55e4cd
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 0x55dd90
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x55e672
movzx eax, word [edi]
cmp eax, 0x7b
je 0x55e53d
cmp eax, 0x3c
je 0x55e5bd
cmp eax, 0x27
jne 0x55e672
cmp eax, 0x27
mov ebp, 0x7d
mov eax, 0x27
cmove ebp, eax
cmp ebx, 0x1b
jne 0x55e5e2
cmp ebp, 0x7d
je 0x55e5e2
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.00561dc0
add esp, 0x1c
test eax, eax
je 0x55e5d2
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
cmp ecx, edx
jae 0x55e5c4
movzx eax, word [ecx]
cmp eax, ebp
jne 0x55e5c4
mov eax, dword [esp + 0x3c]
mov edi, ecx
mov ebx, dword [esp + 0xb4]
mov ecx, edx
jmp 0x55fff0
mov ebp, 0x3e
jmp 0x55e54d
mov ecx, 0x9d
mov dword [esp + 0x20], ecx
jmp 0x55e41e
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x55e41a
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.00561b70
add esp, 0x24
test eax, eax
je 0x55e669
cmp ebx, 0x1c
je 0x55e626
mov eax, 0x80210000
cmp ebp, 0x7d
jne 0x55e62b
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 0x55dd90
mov ecx, dword [esp + 0x20]
jmp 0x55e413
cmp ebx, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [esp + 0x20], ecx
jmp 0x55e41e
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x24], 1
je case.0x55e3f9.13
cmp ebx, 7
je 0x55e6b5
cmp ebx, 9
je 0x55e6b5
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x55e6ba
mov eax, 0x80180010
mov dword [esi], eax
add ebx, 0xfffffffa
add esi, 4
mov dword [esp + 0x1c], esi
cmp ebx, 5
ja case.default.0x55e6cf
jmp dword [ebx*4 + 0x560694]
mov dword [esi], 0x3000d
jmp 0x55e45b
mov dword [esi], 0x70000
jmp 0x55e45b
mov dword [esi], 0x90000
jmp 0x55e45b
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 0x55e747
cmp dword [ebp + ebx*4 + 0x2c], 0xffffffff
jne 0x55e750
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 0x55dd90
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 0x55dd90
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0xa8]
mov dword [esi], ecx
mov dword [esp + 0x24], 1
jmp 0x55debf
cmp dword [esp + 0x44], 0
lea edi, [eax + 2]
movzx ecx, word [eax]
je 0x55e7bc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55e7bc
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 0x55debf
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 0x55dd90
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 0x55dd90
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 0x55dd90
mov dword [esp + 0x54], 0x80340000
jmp 0x55e8a7
mov dword [esp + 0x54], 0x80370000
jmp 0x55e8a7
mov dword [esp + 0x54], 0x803a0000
jmp 0x55e8a7
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.00561f00
add esp, 0x14
test eax, eax
jne 0x55e898
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x5603da
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x24], 1
jmp 0x55debd
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x54], 0x803d0000
test ebp, ebp
je 0x56038d
cmp dword [esi - 4], 0x802a0000
lea ecx, [esi - 4]
jne 0x55e8df
mov edx, dword [esp + 0x7c]
cmp ecx, edx
jb 0x55e8cf
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x55e8c3
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 0x55dd90
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 0x55dd90
mov eax, ecx
mov dword [esp + 0x24], 1
sub eax, edi
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x55ea11
push 6
push 0x69c634
push edi
call fcn.00590da0
add esp, 0xc
test eax, eax
je 0x55e965
push 6
push str._:_:__
push edi
call fcn.00590da0
add esp, 0xc
test eax, eax
jne 0x55ea0d
mov dword [esi], 0x80180005
lea eax, [esi + 8]
cmp word [edi + 4], 0x3c
jne 0x55e97e
mov dword [esi + 4], 0x80230000
jmp 0x55e99b
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 0x55e9d6
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 0x55dd90
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 0x55dd90
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x55ea42
movzx eax, word [edi]
cmp eax, 0x3a
je 0x55ea27
cmp eax, 0x2e
je 0x55ea27
cmp eax, 0x3d
jne 0x55ea42
lea eax, [esp + 0x58]
push eax
push ecx
push edi
call fcn.00558a40
add esp, 0xc
test eax, eax
jne 0x56039a
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x28], edx
cmp edi, ecx
jae 0x55eb45
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 0x55eaa6
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55eaa6
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 0x55eb03
mov ecx, dword [esp + 0x10]
cmp ebp, ecx
jae 0x55eaca
cmp word [edi], 0x45
jne 0x55eaca
mov eax, 2
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x55eb33
mov eax, ecx
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 6
jl 0x55eb41
push 3
push 0x69c644
push edi
call fcn.00590da0
mov edx, dword [esp + 0x34]
add esp, 0xc
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x55eb41
mov eax, 6
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x55eb33
test dword [esp + 0x2c], 0x1000000
je 0x55eb17
cmp ecx, 0x20
je 0x55eb2f
cmp ecx, 9
je 0x55eb2f
test edx, edx
jne 0x55eb3d
cmp ecx, 0x5e
mov ecx, dword [esp + 0x10]
jne 0x55eb41
mov edx, 1
mov dword [esp + 0x28], edx
jmp 0x55eb33
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jb 0x55ea54
jmp 0x55eb41
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
cmp ebx, 0x5d
jne 0x55eb83
mov eax, dword [esp + 0xb4]
test byte [eax + 0x6c], 1
je 0x55eb83
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 0x55dd90
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 0x55ebd7
cmp ebx, 0x5c
jne 0x55ee48
cmp edi, ecx
jae 0x55ee48
cmp word [edi], 0x45
jne 0x55ee48
mov dword [esp + 0x5c], 0
add edi, 2
jmp 0x55f001
test dword [esp + 0x2c], 0x1000000
je 0x55ebf3
cmp ebx, 0x20
je 0x55f001
cmp ebx, 9
je 0x55f001
cmp ebx, 0x5b
jne 0x55ed62
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl 0x55ee48
movzx eax, word [edi]
cmp eax, 0x3a
je 0x55ec22
cmp eax, 0x2e
je 0x55ec22
cmp eax, 0x3d
jne 0x55ee48
lea eax, [esp + 0x58]
push eax
push ecx
push edi
call fcn.00558a40
add esp, 0xc
test eax, eax
je 0x55ee44
mov dword [esp + 0x28], 0
cmp dword [esp + 0x30], ebp
je 0x5603ed
cmp word [edi], 0x3a
jne 0x5603b4
add edi, 2
mov edx, edi
cmp word [edi], 0x5e
jne 0x55ec69
add edi, 2
mov dword [esp + 0x28], ebp
mov edx, edi
mov ebp, dword [esp + 0x58]
mov ecx, 0x69c1b0
sub ebp, edx
mov dword [esp + 0x40], ecx
sar ebp, 1
xor ebx, ebx
nop dword [eax]
movzx eax, byte [ebx + 0x69c4cc]
cmp ebp, eax
jne 0x55eca0
push ebp
push ecx
push edx
call fcn.00590da0
add esp, 0xc
test eax, eax
je 0x55ecc2
mov ecx, dword [esp + 0x40]
mov edx, edi
movzx eax, byte [ebx + 0x69c4cc]
inc ecx
inc ebx
add ecx, eax
mov dword [esp + 0x40], ecx
cmp byte [ebx + 0x69c4cc], 0
jne 0x55ec80
mov ecx, 0x82
jmp 0x560584
test ebx, ebx
js 0x55ecb8
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x10]
add edi, 4
add eax, 0xfffffffe
cmp edi, eax
jae 0x55ece9
cmp word [edi], 0x2d
jne 0x55ece9
cmp word [edi + 2], 0x5d
jne 0x5603ed
xor edx, edx
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x30], edx
je 0x55ed49
mov eax, dword [ebx*8 + 0x72ce30]
mov edx, dword [ebx*8 + 0x72ce34]
test eax, eax
js 0x55ed2e
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 0x55f001
test edx, edx
mov edx, dword [esp + 0x30]
je 0x55ed49
mov eax, dword [esp + 0x28]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [esi], eax
jmp 0x55effe
mov eax, dword [esp + 0x28]
add eax, 0x801c
shl eax, 0x10
mov dword [esi], eax
mov dword [esi + 4], ebx
add esi, 8
jmp 0x55f001
cmp ebx, 0x2d
jne 0x55ed89
cmp edx, 2
jb 0x55ee48
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov edx, ebp
cmove eax, ecx
mov dword [esi], eax
jmp 0x55effa
cmp ebx, 0x5c
jne 0x55ee48
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.00557890
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov ebx, eax
test ecx, ecx
je 0x55ee22
test byte [esp + 0x78], 2
je 0x5603da
cmp edi, dword [esp + 0x10]
jb 0x55ede7
mov ebx, 0x5c
jmp 0x55ee42
cmp dword [esp + 0x44], 0
lea ecx, [edi + 2]
movzx ebx, word [edi]
mov edi, ecx
je 0x55ee42
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55ee42
movzx eax, word [edi]
and ebx, 0x3ff
shl ebx, 0xa
lea edi, [ecx + 2]
and eax, 0x3ff
or ebx, eax
add ebx, 0x10000
jmp 0x55ee42
cmp ebx, 0x1a
ja case.0x55ee30.1
mov ebx, eax
movzx eax, byte [eax + 0x5606c4]
jmp dword [eax*4 + 0x5606ac]
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
mov edx, dword [esp + 0x30]
cmp edx, 1
jne 0x55eff5
cmp ebx, dword [esi - 8]
jne 0x55efce
sub esi, 4
xor edx, edx
mov dword [esp + 0x30], edx
jmp 0x55f001
mov edi, dword [esp + 0xa8]
mov ebx, 8
xor ebp, ebp
jmp 0x55ee44
mov dword [esp + 0x5c], 1
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x30]
jmp 0x55f001
cmp dword [esp + 0x30], 1
je 0x5603e6
xor edx, edx
lea ecx, [ebx - 6]
mov dword [esp + 0x30], edx
cmp ecx, 0xf
ja case.0x55eeb4.13
movzx eax, byte [ecx + 0x5606f4]
jmp dword [eax*4 + 0x5606e0]
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x55ef0c
test dword [esp + 0x2c], 0x20000
jne 0x55eee5
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x55ef0c
cmp ebx, 7
je 0x55eef9
cmp ebx, 9
je 0x55eef9
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x55eefe
mov eax, 0x80180010
mov dword [esi], eax
add esi, 4
cmp ecx, 5
ja case.default.0x55ef0c
jmp dword [ecx*4 + 0x560704]
mov dword [esi], 0x3000d
add esi, 4
jmp case.default.0x55ef0c
mov dword [esi], 0x70000
add esi, 4
jmp case.default.0x55ef0c
mov dword [esi], 0x90000
add esi, 4
jmp case.default.0x55ef0c
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.0055d2f0
add esp, 0x18
test eax, eax
je 0x560454
cmp dword [esp + 0x9c], 0
je 0x55ef88
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 0x55f001
cmp word [edi], 0x2d
jne 0x55f001
cmp word [edi + 2], 0x5d
jne 0x5603ed
jmp 0x55f001
jb 0x5603f7
test ebp, ebp
jne 0x55efe8
cmp dword [esi - 4], 0x801f0000
jne 0x55efe8
mov dword [esi - 4], 0x801e0000
mov dword [esi], ebx
add esi, 4
xor edx, edx
mov dword [esp + 0x30], edx
jmp 0x55f001
lea edx, [ebp + 2]
mov dword [esi], ebx
mov dword [esp + 0x30], edx
add esi, 4
cmp edi, dword [esp + 0x10]
jae 0x560404
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 0x55f05c
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55f05c
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 0x55eba0
cmp dword [esp + 0x5c], 0
jne 0x55eba0
cmp edx, 1
jne 0x55f080
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 0x55dd90
cmp edi, ecx
jae 0x56057f
movzx eax, word [edi]
cmp eax, 0x3f
je 0x55f4e1
mov ebp, dword [esp + 0x14]
cmp eax, 0x2a
je 0x55f11e
mov ebx, dword [esp + 0xb4]
inc ebp
test dword [esp + 0x2c], 0x2000
mov dword [esp + 0x14], ebp
jne 0x55f107
mov ecx, dword [ebx + 0x74]
cmp ecx, 0xffff
jae 0x5604ed
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 0x55dd8c
mov ecx, 0x801a0000
mov dword [esi], ecx
add esi, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
jmp 0x55dd8c
mov edx, dword [esp + 0x18]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55dd74
movzx ecx, word [edi + 2]
mov ebp, dword [esp + 0x14]
cmp ecx, 0x29
je 0x55dd70
mov ebp, dword [esp + 0xb4]
cmp ecx, 0xff
ja 0x55f359
mov eax, dword [ebp + 0x10]
test byte [ecx + eax], 4
je 0x55f359
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push ebp
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x48], 0x69c050
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.00561b70
add esp, 0x24
test eax, eax
je 0x560454
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x38], edi
cmp edi, ebx
jae 0x56042c
cmp word [edi], 0x3a
jne 0x56042c
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 + 0x69c128]
jne 0x55f1eb
push edi
push esi
push dword [esp + 0x58]
call fcn.00590da0
add esp, 0xc
test eax, eax
je 0x55f1ff
inc esi
add esi, dword [ebx*8 + 0x69c128]
inc ebx
mov dword [esp + 0x3c], ebx
mov ebp, ebx
cmp ebx, 0x11
jl 0x55f1d0
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x38]
cmp ebp, 0x11
jge 0x56042c
mov edx, dword [ebx*8 + 0x69c12c]
mov ebx, dword [esp + 0x28]
test ebx, ebx
jle 0x55f230
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x56040e
cmp edx, 0x80250000
ja 0x55f2a1
je 0x55f2cc
cmp edx, 0x80230000
ja 0x55f28b
je 0x55fba3
cmp edx, 0x80020000
je case.0x55f50b.62
cmp edx, 0x80220000
jne 0x55f297
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 0x55dd8c
cmp edx, 0x80240000
je 0x55fbd5
mov ecx, 0xbd
jmp 0x560584
cmp edx, 0x80280000
ja 0x55f2d4
je 0x55f2cc
cmp edx, 0x80260000
je 0x55f2cc
cmp edx, 0x80270000
jne 0x55f297
mov dword [esi], edx
add edi, 2
mov edx, dword [esp + 0xb4]
jmp 0x55fc58
sub edi, 2
jmp 0x55fc2b
cmp edx, 0x8fff0000
jne 0x55f297
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 0x55f314
mov ebx, dword [esp + 0xb4]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x4c], ebp
jmp 0x55f32f
add ebp, 0xc
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x84]
jae 0x560516
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 0x55dd90
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push ebp
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x84], 0x69bfb0
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.00561b70
add esp, 0x24
test eax, eax
je 0x560454
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x38], edi
cmp edi, ebx
jae 0x560539
movzx eax, word [edi]
cmp eax, 0x3a
je 0x55f3c0
cmp eax, 0x29
jne 0x560539
mov edi, dword [esp + 0x7c]
xor ebx, ebx
mov dword [esp + 0x3c], ebx
xor esi, esi
mov ebp, 0x69bfe0
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp]
jne 0x55f3ec
push eax
push edi
push dword [esp + 0x58]
call fcn.00590da0
add esp, 0xc
test eax, eax
je 0x55f3ff
inc edi
inc ebx
add edi, dword [ebp]
mov esi, ebx
add ebp, 0xc
mov dword [esp + 0x3c], ebx
cmp ebx, 9
jl 0x55f3d1
mov edi, dword [esp + 0x38]
cmp esi, 9
mov esi, dword [esp + 0x1c]
jge 0x560539
cmp word [edi], 0x3a
jne 0x55f426
lea eax, [edi + 2]
cmp eax, dword [esp + 0x10]
jae 0x55f426
cmp word [eax], 0x29
cmove edi, eax
lea ecx, [ebx + ebx*2]
mov ebx, dword [ecx*4 + 0x69bfe8]
test ebx, ebx
jle 0x55f43e
cmp word [edi], 0x3a
jne 0x560436
mov ecx, dword [ecx*4 + 0x69bfe4]
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 0x55f4c1
test ebx, ebx
jns 0x55f478
mov dword [esp + 0x80], ecx
mov eax, 0x80290000
jmp 0x55f48a
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 0x55dd90
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 0x55dd90
add edi, 2
mov dword [esp + 0xa8], edi
mov edx, edi
cmp edi, ecx
jae 0x56057f
movzx ecx, word [edi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x55f50b.34
movzx eax, byte [eax + 0x560754]
jmp dword [eax*4 + 0x56071c]
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x56057f
movzx eax, word [edi]
cmp eax, 0x3c
jne 0x55f53a
mov eax, 0x3e
jmp 0x55fcc5
cmp eax, 0x3e
je 0x55f61d
cmp eax, 0x3d
jne 0x560440
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.00561b70
add esp, 0x24
test eax, eax
je 0x560454
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 0x55dd90
mov ecx, dword [esp + 0x10]
xor eax, eax
add edi, 2
mov dword [esp + 0x3c], eax
cmp edi, ecx
jae 0x56044a
cmp word [edi], 0x29
jne 0x56044a
mov ebx, dword [esp + 0xb4]
jmp 0x55fff0
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x55f60f
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x55f60f
cmp eax, 0x39
jbe 0x55ff79
mov ecx, 0x81
jmp 0x560584
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.00561b70
add esp, 0x24
test eax, eax
je 0x560454
mov dword [esi], 0x80210000
jmp 0x55f58d
mov ebp, dword [esp + 0x10]
lea edx, [edi + 2]
mov edi, edx
cmp edx, ebp
jae 0x56057f
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
dec eax
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x55f69d
test byte [esp + 0x2c], 4
je 0x55f69d
lea eax, [esi - 0x10]
cmp ecx, eax
jne 0x55f69d
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 0x55f752
cmp ebx, 0x30
jb 0x55f6c9
cmp ebx, 0x39
jbe 0x55f752
mov ecx, dword [0x6b8cc4]
xor eax, eax
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x55f6f4
nop dword [eax]
cmp ebx, ecx
je 0x55f6fe
mov ecx, dword [eax*4 + 0x6b8cc8]
inc eax
mov dword [esp + 0x3c], eax
test ecx, ecx
jne 0x55f6e0
mov ecx, 0xb6
jmp 0x560584
mov ecx, dword [eax*4 + 0x6b8ca0]
test ecx, ecx
je 0x55f6f4
mov dword [esi], 0x80070000
nop
add edi, 2
cmp edi, ebp
jae 0x560464
movzx eax, word [edi]
cmp eax, ecx
jne 0x55f710
add edi, 2
cmp edi, ebp
jae 0x55f730
movzx eax, word [edi]
cmp eax, ecx
je 0x55f710
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 0x55f798
xor ebx, ebx
mov dword [esi], 0x80060000
add esi, 0xc
nop dword [eax]
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x30
jb 0x55f78f
cmp eax, 0x39
ja 0x55f78f
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 0x560470
mov edx, edi
cmp edi, ebp
jb 0x55f760
mov dword [esi], ebx
mov ebx, dword [esp + 0xb4]
cmp ecx, ebp
jae 0x56047a
cmp word [edi], 0x29
jne 0x56047a
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 0x55dd90
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x56057f
mov ebp, dword [esp + 0x14]
movzx eax, word [edi]
inc ebp
mov dword [esp + 0x14], ebp
cmp eax, 0x3f
je 0x55fb53
cmp eax, 0x2a
je 0x55fb53
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.00561dc0
add esp, 0x1c
test eax, eax
je 0x55f870
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test ecx, ecx
jle 0x560484
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 0x55fb2e
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x5603da
mov ecx, dword [esp + 0x10]
mov ebp, ecx
mov ebx, dword [esp + 0xa8]
sub ebp, ebx
sar ebp, 1
cmp ebp, 0xa
jl 0x55f9c2
push 7
push str.VERSION
push ebx
call fcn.00590da0
add esp, 0xc
test eax, eax
jne 0x55f9be
cmp word [ebx + 0xe], 0x29
lea edi, [ebx + 0xe]
je 0x55f9be
xor ebp, ebp
xor ebx, ebx
cmp word [edi], 0x3e
mov eax, edi
mov dword [esp + 0x40], ebp
jne 0x55f8d4
add edi, 2
lea ebp, [ebx + 1]
mov eax, edi
cmp word [edi], 0x3d
jne 0x56048e
lea edi, [eax + 2]
movzx eax, word [edi]
mov dword [esp + 0xa8], edi
cmp eax, 0x30
jb 0x56048e
cmp eax, 0x39
ja 0x56048e
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.00561dc0
add esp, 0x1c
test eax, eax
je 0x560454
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x56048e
cmp word [edi], 0x2e
jne 0x55f9a4
add edi, 2
cmp edi, edx
jae 0x56048e
movzx eax, word [edi]
cmp eax, 0x30
jb 0x56048e
cmp eax, 0x39
ja 0x56048e
sub eax, 0x30
add edi, 2
lea ebx, [eax + eax*4]
add ebx, ebx
cmp edi, edx
jae 0x56048e
movzx eax, word [edi]
cmp eax, 0x30
jb 0x55f99a
cmp eax, 0x39
ja 0x55f99a
add eax, 0xffffffd0
lea ecx, [edi + 2]
add ebx, eax
mov edi, ecx
cmp ecx, edx
jae 0x56048e
cmp word [edi], 0x29
jne 0x56048e
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 0x55fb23
mov ecx, dword [esp + 0x10]
movzx eax, word [ebx]
mov dword [esp + 0x28], 0
cmp eax, 0x52
jne 0x55f9ef
cmp ebp, 1
jle 0x55fa0a
cmp word [ebx + 2], 0x26
lea eax, [ebx + 2]
jne 0x55fa0a
mov ebx, 1
mov dword [esp + 0xa8], eax
jmp 0x55fa18
cmp eax, 0x3c
jne 0x55f9fd
mov ebx, dword [esp + 0x28]
lea edi, [eax + 2]
jmp 0x55fa1d
cmp eax, 0x27
jne 0x55fa0a
mov ebx, dword [esp + 0x28]
mov edi, eax
jmp 0x55fa1d
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.00561b70
add esp, 0x24
test eax, eax
je 0x560454
mov ebp, dword [esp + 0x34]
test ebx, ebx
je 0x55fa73
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80130000
sub edi, 2
jmp 0x55fb0c
cmp edi, 0x29
jne 0x55faff
mov ebx, dword [esp + 0x50]
cmp ebp, 6
jne 0x55faac
push 6
push str.DEFINE
push ebx
call fcn.00590da0
add esp, 0xc
test eax, eax
jne 0x55faac
mov eax, 0x80100000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x55fb0c
mov eax, 1
mov dword [esp + 0x3c], eax
mov ecx, eax
cmp ebp, eax
jle 0x55fadd
mov edi, eax
nop dword [eax]
movzx edx, word [ebx + eax*2]
mov ecx, edi
cmp edx, 0x30
jb 0x55fadd
cmp edx, 0x39
ja 0x55fadd
inc eax
mov dword [esp + 0x3c], eax
mov ecx, eax
mov edi, ecx
cmp eax, ebp
jl 0x55fac0
cmp word [ebx], 0x52
jne 0x55faec
mov eax, 0x80140000
cmp ecx, ebp
jge 0x55faf1
mov eax, 0x80110000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x55fb0c
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80110000
mov eax, dword [esi]
add esi, 4
cmp eax, 0x80100000
je 0x55fb1d
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 0x560498
cmp word [edi], 0x29
jne 0x560498
add edi, 2
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x55dd8c
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 0x55dd8c
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 0x55dd8c
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80230000
jmp 0x55fc58
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80270000
jmp 0x55fc58
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80240000
jmp 0x55fc58
mov eax, dword [esp + 0x10]
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55f530
movzx eax, word [edi + 2]
cmp eax, 0x3d
je 0x55fc22
cmp eax, 0x21
je 0x55fc10
cmp eax, 0x2a
jne 0x55f530
cmp eax, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x55fc27
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 0x55fcb0
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jne 0x55fc7d
mov ebp, dword [edx + 0x14]
mov dword [esp + 0x4c], ebp
jmp 0x55fc91
add ebp, 0xc
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x84]
jae 0x560516
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 0x55dd8c
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.00561b70
add esp, 0x24
test eax, eax
je 0x560454
mov eax, dword [ebx + 0x74]
cmp eax, 0xffff
jae 0x5604e6
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 0x5604d5
mov ecx, dword [esp + 0x34]
movzx eax, word [ebx + 0x5a]
add ecx, 2
cmp ecx, eax
mov ecx, dword [esp + 0x34]
jbe 0x55fd52
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 0x55fde3
nop dword [eax]
movzx eax, word [edi + 8]
cmp ecx, eax
jne 0x55fdba
push ecx
push dword [edi]
push dword [esp + 0x58]
call fcn.00590d60
add esp, 0xc
test eax, eax
jne 0x55fdba
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x55fdea
test byte [esp + 0x2c], 0x40
je 0x5604a2
mov eax, 1
mov word [edi + 0xa], ax
mov dword [esp + 0x40], eax
mov dword [ecx + 0xbc], eax
jmp 0x55fdcd
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x5604b3
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 0x55fd70
mov ecx, dword [esp + 0xb4]
movzx ecx, word [ecx + 0x58]
mov edx, ecx
cmp ebx, edx
jge 0x55fe2d
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 0x55dd90
mov edi, dword [esp + 0xa8]
mov ebx, ebp
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x55dd90
mov ebx, dword [esp + 0xb4]
mov eax, dword [ebx + 0x68]
cmp edx, eax
jb 0x55fec7
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 [0x5cd3f0]
call edi
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5604c4
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.00599570
add esp, 0xc
cmp dword [edi + 0x68], 0x14
jbe 0x55feb6
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 [0x5cd3f0]
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 0x55dd90
cmp ecx, 0x2d
jne 0x55ff4d
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55ff4d
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x55ff4d
cmp eax, 0x39
jbe 0x55ff79
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x4c]
inc ecx
mov dword [esp + 0x14], ecx
test ebp, ebp
jne 0x560024
mov ebx, dword [esp + 0xb4]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x4c], ebp
jmp 0x56003f
mov edx, dword [esp + 0x10]
cmp ecx, 0x30
jb 0x55ff8f
cmp ecx, 0x39
ja 0x55ff8f
mov ebx, dword [esp + 0xb4]
or eax, 0xffffffff
jmp 0x55ff99
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.00561dc0
add esp, 0x1c
test eax, eax
je 0x560454
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test eax, eax
js 0x5604f7
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x56057f
cmp word [edi], 0x29
jne 0x56057f
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 0x55dd90
add ebp, 0xc
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x84]
jae 0x560516
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 0x56009e
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 0x55dd90
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 0x5600d8
and dword [esp + 0x2c], 0xfeffdb57
add edi, 2
mov dword [esp + 0x28], eax
mov ecx, edi
cmp ecx, dword [esp + 0x10]
jae 0x5601a6
mov edx, ecx
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x29
je 0x56019e
cmp eax, 0x3a
je 0x56019e
sub eax, 0x2d
lea edi, [edx + 2]
cmp eax, 0x4b
ja case.0x560111.46
movzx eax, byte [eax + 0x5607ac]
jmp dword [eax*4 + 0x560788]
cmp dword [esp + 0x28], ebp
je 0x560504
lea ebx, [esp + 0x70]
mov dword [esp + 0x28], ebp
mov ecx, edi
jmp 0x560192
mov eax, dword [esp + 0xb4]
mov ecx, edi
or dword [ebx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x560192
or dword [ebx], 8
mov ecx, edi
jmp 0x560192
or dword [ebx], 0x400
mov ecx, edi
jmp 0x560192
or dword [ebx], 0x2000
mov ecx, edi
jmp 0x560192
or dword [ebx], 0x20
mov ecx, edi
jmp 0x560192
or dword [ebx], 0x40000
mov ecx, edi
jmp 0x560192
mov eax, dword [ebx]
mov ecx, edi
or eax, 0x80
mov dword [ebx], eax
cmp edi, dword [esp + 0x10]
jae 0x560192
cmp word [edi], 0x78
jne 0x560192
or eax, 0x1000000
lea ecx, [edi + 2]
mov dword [ebx], eax
mov edi, ecx
mov edx, ecx
cmp edi, dword [esp + 0x10]
jb 0x5600e4
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
mov eax, ebp
and eax, 0x1000080
cmp eax, 0x80
je 0x5601b8
test dl, dl
jns 0x5601be
or edx, 0x1000000
or ebp, dword [esp + 0x2c]
not edx
and edx, ebp
mov dword [esp + 0x2c], edx
cmp ecx, dword [esp + 0x10]
jae 0x56057f
mov ax, word [edi]
lea edi, [ecx + 2]
mov ebx, dword [esp + 0xb4]
cmp ax, 0x29
jne 0x560213
mov eax, dword [esp + 0xa0]
mov ebp, dword [esp + 0x4c]
movzx ecx, ax
mov dword [esp + 0x14], ecx
cmp ebp, dword [ebx + 0x14]
jbe 0x56020d
cmp word [ebp - 0xc], cx
lea eax, [ebp - 0xc]
jne 0x56020d
mov dword [esp + 0x4c], eax
jmp 0x560220
mov word [ebp], cx
jmp 0x560220
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 0x55dd8c
mov dword [esi], 0x801b0000
mov dword [esi + 4], edx
add esi, 8
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
jmp 0x55dd90
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0xb4]
test ebp, ebp
je 0x560280
mov ecx, dword [esp + 0x14]
cmp word [ebp], cx
jne 0x560280
test byte [ebp + 6], 1
je 0x560280
movzx eax, word [ebp + 4]
mov ecx, dword [ebx + 0x74]
cmp ecx, eax
jbe 0x560279
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 0x55dd90
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x24], 1
test ebp, ebp
je 0x56031e
mov ecx, dword [esp + 0x14]
cmp word [ebp], cx
jne 0x56031e
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 0x5602ea
movzx edx, word [ebp + 4]
cmp edx, dword [ebx + 0x74]
jbe 0x5602ea
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 0x560304
mov dword [esi], 0x80190000
add esi, 4
cmp ebp, dword [ebx + 0x14]
jne 0x560311
xor eax, eax
mov dword [esp + 0x4c], eax
jmp 0x560325
sub ebp, 0xc
mov dword [esp + 0x24], ecx
mov dword [esp + 0x4c], ebp
jmp 0x560325
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x14]
test bp, bp
je 0x56051d
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 0x55dd8c
mov dword [esi], ebx
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], 1
jmp 0x55dd81
mov ecx, 0x8c
jmp 0x560584
mov edi, dword [esp + 0x30]
mov ecx, 0xb0
add edi, 0xfffffffe
jmp 0x560584
mov ecx, 0x76
jmp 0x560584
mov ecx, 0x6d
sub edi, 2
jmp 0x560584
movzx eax, word [edi]
xor ecx, ecx
mov edi, dword [esp + 0x30]
add edi, 0xfffffffe
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x560584
mov ecx, 0x71
sub edi, 2
jmp 0x560584
mov edi, dword [esp + 0xa8]
mov ecx, 0x6b
sub edi, 2
jmp 0x560584
mov ecx, 0xab
mov edi, dword [esp + 0xa8]
jmp 0x560584
mov edi, dword [esp + 0xa8]
mov ecx, 0x96
jmp 0x560584
mov ecx, 0x6c
sub edi, 2
jmp 0x560584
mov ecx, 0x6a
jmp 0x560584
cmp edx, 0x80270000
je 0x560422
cmp edx, 0x80280000
jne 0x55e371
mov ecx, 0xc6
jmp 0x560584
mov ecx, 0xc3
jmp 0x560584
mov ecx, 0xa6
jmp 0x560584
mov ecx, 0x8d
jmp 0x560584
mov ecx, 0x9e
jmp 0x560584
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x20]
jmp 0x560584
mov ecx, 0xb5
mov edi, edx
jmp 0x560584
mov ecx, 0x8a
jmp 0x560584
mov ecx, 0x8b
jmp 0x560584
mov ecx, 0x73
jmp 0x560584
mov ecx, 0xb3
jmp 0x560584
mov ecx, 0x7c
jmp 0x560584
mov edi, dword [esp + 0xa8]
mov ecx, 0x8f
jmp 0x560584
mov edi, dword [esp + 0xa8]
mov ecx, 0xa5
jmp 0x560584
mov edi, dword [esp + 0xa8]
mov ecx, 0x79
jmp 0x560584
mov edi, dword [esp + 0xa8]
mov ecx, 0x95
jmp 0x560584
mov edi, dword [esp + 0xa8]
mov ecx, 0xc5
jmp 0x560584
mov ecx, 0x73
sub edi, 2
jmp 0x560584
mov ecx, 0xc2
mov edi, edx
jmp 0x560584
mov ecx, 0x6f
mov edi, edx
jmp 0x560584
mov ecx, 0xb8
jmp 0x560584
mov ecx, 0x7a
sub edi, 2
jmp 0x560584
mov ecx, 0x77
jmp 0x560584
cmp dword [esp + 0x6c], 0
je 0x55dca9
mov ecx, 0xa0
jmp 0x560584
test byte [esp + 0x78], 4
je 0x560557
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [esp + 0x8c]
jb 0x560567
mov ecx, 0xa3
jmp 0x560584
mov dword [ecx], 0x80000000
test bp, bp
jne 0x56057f
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