Function at 0x555ae0
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 0x555b97
mov dword [esi], 0x80090000
jmp 0x555ba2
test cl, 4
je 0x555bb0
mov dword [esi], 0x80180005
mov dword [esi + 4], 0x801a0000
add esi, 8
mov dword [esp + 0x1c], esi
test edi, 0x2000000
je 0x555d1a
mov edi, dword [esp + 0xa8]
cmp edi, ebp
jae 0x555ca7
nop dword [eax + eax]
cmp esi, dword [esp + 0x8c]
jae 0x558560
movzx ecx, word [edi]
mov edx, edi
lea edi, [edx + 2]
test eax, eax
je 0x555c13
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x555c13
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 0x555c8b
cmp dword [esp + 0x18], 0
mov ebx, esi
je 0x555c53
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 0x555c53
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xc], 0xff
je 0x555c6e
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 0x555c8f
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov dword [esi], ecx
add esi, 4
cmp edi, ebp
jb 0x555bd0
mov ebx, dword [esp + 0xb4]
xor ebp, ebp
mov ecx, esi
test edx, edx
je 0x555cbc
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 0x555cfa
test edx, edx
je 0x555cd7
lea eax, [esi - 0x10]
cmp edx, eax
jne 0x555cd7
cmp dword [edx + 0xc], 0xff
je 0x555cf0
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 0x558540
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x558554
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 0x555d90
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
jmp 0x555d90
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 0x55852e
mov dword [esp + 0x70], 0
mov dword [esp + 0x40], 0
cmp esi, dword [esp + 0x8c]
jae 0x558560
mov ecx, dword [ebx]
movzx eax, bp
cmp eax, dword [ecx + 0x20]
ja 0x558527
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 0x555e3a
mov eax, ebx
mov dword [esp + 0x30], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x555e36
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 0x555e3a
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x5c], 0
je 0x555ede
cmp ebp, 0x5c
jne 0x555e68
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jae 0x555e68
cmp word [edi], 0x45
jne 0x555e68
mov dword [esp + 0x5c], 0
lea edi, [eax + 2]
jmp 0x555d81
cmp dword [esp + 0x68], 0
jg case.0x55634d.34
cmp dword [esp + 0x6c], 0
jne 0x555eb5
mov ecx, dword [esp + 0x64]
mov eax, ecx
dec ecx
mov dword [esp + 0x64], ecx
test eax, eax
jg 0x555ead
push dword [esp + 0xb4]
lea eax, [esp + 0x64]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.00555a60
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 0x555d90
cmp dword [esp + 0x6c], 0
je 0x556054
mov eax, dword [esp + 0x2c]
and eax, 0x400080
cmp eax, 0x400080
jne 0x555f49
cmp ebp, 0xff
jbe 0x555f14
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x555f14
cmp eax, 0x2029
jne 0x555ebd
cmp ebp, 0x100
jae 0x556054
cmp ebp, 0x23
je 0x556084
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x556054
cmp ebp, 0x85
je 0x556084
cmp ebp, 0x29
je 0x555fe9
cmp ebp, 0x5c
jne 0x555ebd
mov edx, dword [esp + 0x2c]
test edx, 0x400000
je 0x555ebd
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.0054f890
mov ecx, dword [esp + 0x40]
add esp, 0x20
test ecx, ecx
jne 0x5583da
sub eax, ecx
je 0x555fd9
sub eax, 0x19
je 0x5575aa
mov edi, dword [esp + 0xa8]
sub eax, 1
jne 0x558368
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x5c], 1
jmp 0x555d90
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x38]
jmp 0x555ebd
mov eax, edi
mov dword [esp + 0x6c], 0
sub eax, dword [esp + 0x94]
sar eax, 1
dec eax
cmp eax, 0xffff
jg 0x558372
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 0x555d90
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x80], 0
jmp 0x555d88
cmp ebp, 0x5c
jne 0x556084
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x10]
jae 0x556084
movzx eax, word [edi]
cmp eax, 0x51
je 0x556070
cmp eax, 0x45
jne 0x556084
xor edx, edx
lea edi, [ecx + 2]
cmp eax, 0x51
sete dl
mov dword [esp + 0x5c], edx
jmp 0x555d7d
test byte [esp + 0x2c], 0x80
je 0x5561bd
cmp ebp, 0x100
jae 0x5560ab
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x555d7d
cmp ebp, 0x85
je 0x555d7d
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x555d7d
cmp eax, 0x2029
je 0x555d7d
cmp ebp, 0x23
jne 0x5561bd
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
cmp edi, ecx
jae 0x555d90
nop word [eax + eax]
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebx + 0x20]
test eax, eax
je 0x556134
cmp edi, ecx
jae 0x556161
push dword [esp + 0x44]
add ebx, 0x94
push ebx
push ecx
push eax
push edi
call fcn.0058a7d0
add esp, 0x14
test eax, eax
jne 0x5561a8
mov ebx, dword [esp + 0xb4]
jmp 0x556161
mov edx, dword [ebx + 0x94]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x556161
mov ax, word [edi]
cmp ax, word [ebx + 0xa0]
jne 0x556161
cmp edx, 1
je 0x5561b1
mov ax, word [edi + 2]
cmp ax, word [ebx + 0xa2]
je 0x5561b1
mov ecx, dword [esp + 0x10]
add edi, 2
cmp dword [esp + 0x44], 0
mov eax, edi
je 0x556193
cmp edi, ecx
jae 0x556193
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x556100
add edi, 2
mov eax, edi
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
cmp eax, ecx
jb 0x556100
jmp 0x555d90
mov edx, dword [ebx]
mov ebx, dword [esp + 0xb4]
mov ecx, dword [esp + 0x10]
lea edi, [edi + edx*2]
jmp 0x555d88
cmp ebp, 0x28
jne 0x556201
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x55623b
cmp word [edi], 0x3f
jne 0x55623b
cmp word [edi + 2], 0x23
jne 0x55623b
nop
add edi, 2
cmp edi, ecx
jae 0x558383
cmp word [edi], 0x29
jne 0x5561e0
cmp edi, ecx
jae 0x558383
add edi, 2
jmp 0x555d81
cmp ebp, 0x2a
je 0x556272
cmp ebp, 0x2b
je 0x556272
cmp ebp, 0x3f
je 0x556272
cmp ebp, 0x7b
jne 0x55623b
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.00559f00
add esp, 0x14
test eax, eax
jne 0x556272
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
mov eax, ecx
dec ecx
mov dword [esp + 0x64], ecx
test eax, eax
jg 0x556272
push dword [esp + 0xb4]
lea eax, [esp + 0x64]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.00555a60
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 0x5562d4
cmp ebp, 0x28
jne case.0x55634d.34
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x55634d.34
movzx eax, word [edi]
cmp eax, 0x3f
je 0x55633a
cmp eax, 0x2a
jne case.0x55634d.34
movzx eax, word [edi + 2]
mov ecx, 0xff
cmp ax, cx
ja case.0x55634d.34
mov ecx, eax
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ecx + eax], 4
je case.0x55634d.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 0x556385
cmp ebx, 0x3f
je 0x55630e
cmp ebx, 0x2b
jne 0x556385
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 0x555d7d
movzx eax, word [edi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x55634d.34
movzx eax, byte [eax + 0x5585b0]
jmp dword [eax*4 + 0x5585a0]
movzx eax, word [edi + 4]
cmp eax, 0x3d
je case.0x55634d.33
cmp eax, 0x21
je case.0x55634d.33
mov edi, dword [esp + 0x30]
add edi, 0xfffffffe
mov ecx, 0x80
jmp 0x558584
cmp edx, 2
jne case.0x55634d.34
jmp case.0x55634d.33
lea eax, [ebx - 0x24]
cmp eax, 0x58
ja case.0x556398.37
movzx eax, byte [eax + 0x558608]
jmp dword [eax*4 + 0x5585d4]
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.0054f890
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov ebx, eax
test ecx, ecx
jne 0x556413
test ebx, ebx
je 0x55676b
js 0x5566f7
lea eax, [ebx - 6]
cmp eax, 0x16
ja case.0x5563f9.13
movzx eax, byte [eax + 0x55867c]
jmp dword [eax*4 + 0x558664]
test dword [esp + 0x2c], 0x100000
je case.0x5563f9.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 0x558584
mov eax, dword [esp + 0x58]
mov edi, eax
cmp eax, edx
jb 0x556785
mov ecx, 0x5c
mov dword [esp + 0x24], 1
mov dword [esi], ecx
jmp 0x555ebf
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 0x555d90
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.005552f0
add esp, 0x18
test eax, eax
je 0x556669
cmp dword [esp + 0x98], 0
je 0x5564cd
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 0x555d90
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x556672
movzx eax, word [edi]
cmp eax, 0x7b
je 0x55653d
cmp eax, 0x3c
je 0x5565bd
cmp eax, 0x27
jne 0x556672
cmp eax, 0x27
mov ebp, 0x7d
mov eax, 0x27
cmove ebp, eax
cmp ebx, 0x1b
jne 0x5565e2
cmp ebp, 0x7d
je 0x5565e2
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.00559dc0
add esp, 0x1c
test eax, eax
je 0x5565d2
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
cmp ecx, edx
jae 0x5565c4
movzx eax, word [ecx]
cmp eax, ebp
jne 0x5565c4
mov eax, dword [esp + 0x3c]
mov edi, ecx
mov ebx, dword [esp + 0xb4]
mov ecx, edx
jmp 0x557ff0
mov ebp, 0x3e
jmp 0x55654d
mov ecx, 0x9d
mov dword [esp + 0x20], ecx
jmp 0x55641e
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x55641a
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.00559b70
add esp, 0x24
test eax, eax
je 0x556669
cmp ebx, 0x1c
je 0x556626
mov eax, 0x80210000
cmp ebp, 0x7d
jne 0x55662b
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 0x555d90
mov ecx, dword [esp + 0x20]
jmp 0x556413
cmp ebx, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [esp + 0x20], ecx
jmp 0x55641e
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x24], 1
je case.0x5563f9.13
cmp ebx, 7
je 0x5566b5
cmp ebx, 9
je 0x5566b5
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x5566ba
mov eax, 0x80180010
mov dword [esi], eax
add ebx, 0xfffffffa
add esi, 4
mov dword [esp + 0x1c], esi
cmp ebx, 5
ja case.default.0x5566cf
jmp dword [ebx*4 + 0x558694]
mov dword [esi], 0x3000d
jmp 0x55645b
mov dword [esi], 0x70000
jmp 0x55645b
mov dword [esi], 0x90000
jmp 0x55645b
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 0x556747
cmp dword [ebp + ebx*4 + 0x2c], 0xffffffff
jne 0x556750
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 0x555d90
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 0x555d90
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0xa8]
mov dword [esi], ecx
mov dword [esp + 0x24], 1
jmp 0x555ebf
cmp dword [esp + 0x44], 0
lea edi, [eax + 2]
movzx ecx, word [eax]
je 0x5567bc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5567bc
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 0x555ebf
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 0x555d90
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 0x555d90
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 0x555d90
mov dword [esp + 0x54], 0x80340000
jmp 0x5568a7
mov dword [esp + 0x54], 0x80370000
jmp 0x5568a7
mov dword [esp + 0x54], 0x803a0000
jmp 0x5568a7
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.00559f00
add esp, 0x14
test eax, eax
jne 0x556898
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x5583da
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x24], 1
jmp 0x555ebd
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x54], 0x803d0000
test ebp, ebp
je 0x55838d
cmp dword [esi - 4], 0x802a0000
lea ecx, [esi - 4]
jne 0x5568df
mov edx, dword [esp + 0x7c]
cmp ecx, edx
jb 0x5568cf
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x5568c3
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 0x555d90
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 0x555d90
mov eax, ecx
mov dword [esp + 0x24], 1
sub eax, edi
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x556a11
push 6
push 0x686464
push edi
call fcn.00588da0
add esp, 0xc
test eax, eax
je 0x556965
push 6
push str._:_:__
push edi
call fcn.00588da0
add esp, 0xc
test eax, eax
jne 0x556a0d
mov dword [esi], 0x80180005
lea eax, [esi + 8]
cmp word [edi + 4], 0x3c
jne 0x55697e
mov dword [esi + 4], 0x80230000
jmp 0x55699b
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 0x5569d6
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 0x555d90
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 0x555d90
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x556a42
movzx eax, word [edi]
cmp eax, 0x3a
je 0x556a27
cmp eax, 0x2e
je 0x556a27
cmp eax, 0x3d
jne 0x556a42
lea eax, [esp + 0x58]
push eax
push ecx
push edi
call fcn.00550a40
add esp, 0xc
test eax, eax
jne 0x55839a
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x28], edx
cmp edi, ecx
jae 0x556b45
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 0x556aa6
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x556aa6
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 0x556b03
mov ecx, dword [esp + 0x10]
cmp ebp, ecx
jae 0x556aca
cmp word [edi], 0x45
jne 0x556aca
mov eax, 2
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x556b33
mov eax, ecx
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 6
jl 0x556b41
push 3
push 0x686474
push edi
call fcn.00588da0
mov edx, dword [esp + 0x34]
add esp, 0xc
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x556b41
mov eax, 6
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x556b33
test dword [esp + 0x2c], 0x1000000
je 0x556b17
cmp ecx, 0x20
je 0x556b2f
cmp ecx, 9
je 0x556b2f
test edx, edx
jne 0x556b3d
cmp ecx, 0x5e
mov ecx, dword [esp + 0x10]
jne 0x556b41
mov edx, 1
mov dword [esp + 0x28], edx
jmp 0x556b33
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jb 0x556a54
jmp 0x556b41
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
cmp ebx, 0x5d
jne 0x556b83
mov eax, dword [esp + 0xb4]
test byte [eax + 0x6c], 1
je 0x556b83
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 0x555d90
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 0x556bd7
cmp ebx, 0x5c
jne 0x556e48
cmp edi, ecx
jae 0x556e48
cmp word [edi], 0x45
jne 0x556e48
mov dword [esp + 0x5c], 0
add edi, 2
jmp 0x557001
test dword [esp + 0x2c], 0x1000000
je 0x556bf3
cmp ebx, 0x20
je 0x557001
cmp ebx, 9
je 0x557001
cmp ebx, 0x5b
jne 0x556d62
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl 0x556e48
movzx eax, word [edi]
cmp eax, 0x3a
je 0x556c22
cmp eax, 0x2e
je 0x556c22
cmp eax, 0x3d
jne 0x556e48
lea eax, [esp + 0x58]
push eax
push ecx
push edi
call fcn.00550a40
add esp, 0xc
test eax, eax
je 0x556e44
mov dword [esp + 0x28], 0
cmp dword [esp + 0x30], ebp
je 0x5583ed
cmp word [edi], 0x3a
jne 0x5583b4
add edi, 2
mov edx, edi
cmp word [edi], 0x5e
jne 0x556c69
add edi, 2
mov dword [esp + 0x28], ebp
mov edx, edi
mov ebp, dword [esp + 0x58]
mov ecx, 0x685fe0
sub ebp, edx
mov dword [esp + 0x40], ecx
sar ebp, 1
xor ebx, ebx
nop dword [eax]
movzx eax, byte [ebx + 0x6862fc]
cmp ebp, eax
jne 0x556ca0
push ebp
push ecx
push edx
call fcn.00588da0
add esp, 0xc
test eax, eax
je 0x556cc2
mov ecx, dword [esp + 0x40]
mov edx, edi
movzx eax, byte [ebx + 0x6862fc]
inc ecx
inc ebx
add ecx, eax
mov dword [esp + 0x40], ecx
cmp byte [ebx + 0x6862fc], 0
jne 0x556c80
mov ecx, 0x82
jmp 0x558584
test ebx, ebx
js 0x556cb8
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x10]
add edi, 4
add eax, 0xfffffffe
cmp edi, eax
jae 0x556ce9
cmp word [edi], 0x2d
jne 0x556ce9
cmp word [edi + 2], 0x5d
jne 0x5583ed
xor edx, edx
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x30], edx
je 0x556d49
mov eax, dword [ebx*8 + 0x71c4d8]
mov edx, dword [ebx*8 + 0x71c4dc]
test eax, eax
js 0x556d2e
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 0x557001
test edx, edx
mov edx, dword [esp + 0x30]
je 0x556d49
mov eax, dword [esp + 0x28]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [esi], eax
jmp 0x556ffe
mov eax, dword [esp + 0x28]
add eax, 0x801c
shl eax, 0x10
mov dword [esi], eax
mov dword [esi + 4], ebx
add esi, 8
jmp 0x557001
cmp ebx, 0x2d
jne 0x556d89
cmp edx, 2
jb 0x556e48
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov edx, ebp
cmove eax, ecx
mov dword [esi], eax
jmp 0x556ffa
cmp ebx, 0x5c
jne 0x556e48
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.0054f890
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov ebx, eax
test ecx, ecx
je 0x556e22
test byte [esp + 0x78], 2
je 0x5583da
cmp edi, dword [esp + 0x10]
jb 0x556de7
mov ebx, 0x5c
jmp 0x556e42
cmp dword [esp + 0x44], 0
lea ecx, [edi + 2]
movzx ebx, word [edi]
mov edi, ecx
je 0x556e42
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x556e42
movzx eax, word [edi]
and ebx, 0x3ff
shl ebx, 0xa
lea edi, [ecx + 2]
and eax, 0x3ff
or ebx, eax
add ebx, 0x10000
jmp 0x556e42
cmp ebx, 0x1a
ja case.0x556e30.1
mov ebx, eax
movzx eax, byte [eax + 0x5586c4]
jmp dword [eax*4 + 0x5586ac]
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
mov edx, dword [esp + 0x30]
cmp edx, 1
jne 0x556ff5
cmp ebx, dword [esi - 8]
jne 0x556fce
sub esi, 4
xor edx, edx
mov dword [esp + 0x30], edx
jmp 0x557001
mov edi, dword [esp + 0xa8]
mov ebx, 8
xor ebp, ebp
jmp 0x556e44
mov dword [esp + 0x5c], 1
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x30]
jmp 0x557001
cmp dword [esp + 0x30], 1
je 0x5583e6
xor edx, edx
lea ecx, [ebx - 6]
mov dword [esp + 0x30], edx
cmp ecx, 0xf
ja case.0x556eb4.13
movzx eax, byte [ecx + 0x5586f4]
jmp dword [eax*4 + 0x5586e0]
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x556f0c
test dword [esp + 0x2c], 0x20000
jne 0x556ee5
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x556f0c
cmp ebx, 7
je 0x556ef9
cmp ebx, 9
je 0x556ef9
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x556efe
mov eax, 0x80180010
mov dword [esi], eax
add esi, 4
cmp ecx, 5
ja case.default.0x556f0c
jmp dword [ecx*4 + 0x558704]
mov dword [esi], 0x3000d
add esi, 4
jmp case.default.0x556f0c
mov dword [esi], 0x70000
add esi, 4
jmp case.default.0x556f0c
mov dword [esi], 0x90000
add esi, 4
jmp case.default.0x556f0c
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.005552f0
add esp, 0x18
test eax, eax
je 0x558454
cmp dword [esp + 0x9c], 0
je 0x556f88
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 0x557001
cmp word [edi], 0x2d
jne 0x557001
cmp word [edi + 2], 0x5d
jne 0x5583ed
jmp 0x557001
jb 0x5583f7
test ebp, ebp
jne 0x556fe8
cmp dword [esi - 4], 0x801f0000
jne 0x556fe8
mov dword [esi - 4], 0x801e0000
mov dword [esi], ebx
add esi, 4
xor edx, edx
mov dword [esp + 0x30], edx
jmp 0x557001
lea edx, [ebp + 2]
mov dword [esi], ebx
mov dword [esp + 0x30], edx
add esi, 4
cmp edi, dword [esp + 0x10]
jae 0x558404
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 0x55705c
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55705c
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 0x556ba0
cmp dword [esp + 0x5c], 0
jne 0x556ba0
cmp edx, 1
jne 0x557080
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 0x555d90
cmp edi, ecx
jae 0x55857f
movzx eax, word [edi]
cmp eax, 0x3f
je 0x5574e1
mov ebp, dword [esp + 0x14]
cmp eax, 0x2a
je 0x55711e
mov ebx, dword [esp + 0xb4]
inc ebp
test dword [esp + 0x2c], 0x2000
mov dword [esp + 0x14], ebp
jne 0x557107
mov ecx, dword [ebx + 0x74]
cmp ecx, 0xffff
jae 0x5584ed
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 0x555d8c
mov ecx, 0x801a0000
mov dword [esi], ecx
add esi, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
jmp 0x555d8c
mov edx, dword [esp + 0x18]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x555d74
movzx ecx, word [edi + 2]
mov ebp, dword [esp + 0x14]
cmp ecx, 0x29
je 0x555d70
mov ebp, dword [esp + 0xb4]
cmp ecx, 0xff
ja 0x557359
mov eax, dword [ebp + 0x10]
test byte [ecx + eax], 4
je 0x557359
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push ebp
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x48], 0x685e80
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.00559b70
add esp, 0x24
test eax, eax
je 0x558454
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x38], edi
cmp edi, ebx
jae 0x55842c
cmp word [edi], 0x3a
jne 0x55842c
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 + 0x685f58]
jne 0x5571eb
push edi
push esi
push dword [esp + 0x58]
call fcn.00588da0
add esp, 0xc
test eax, eax
je 0x5571ff
inc esi
add esi, dword [ebx*8 + 0x685f58]
inc ebx
mov dword [esp + 0x3c], ebx
mov ebp, ebx
cmp ebx, 0x11
jl 0x5571d0
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x38]
cmp ebp, 0x11
jge 0x55842c
mov edx, dword [ebx*8 + 0x685f5c]
mov ebx, dword [esp + 0x28]
test ebx, ebx
jle 0x557230
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x55840e
cmp edx, 0x80250000
ja 0x5572a1
je 0x5572cc
cmp edx, 0x80230000
ja 0x55728b
je 0x557ba3
cmp edx, 0x80020000
je case.0x55750b.62
cmp edx, 0x80220000
jne 0x557297
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 0x555d8c
cmp edx, 0x80240000
je 0x557bd5
mov ecx, 0xbd
jmp 0x558584
cmp edx, 0x80280000
ja 0x5572d4
je 0x5572cc
cmp edx, 0x80260000
je 0x5572cc
cmp edx, 0x80270000
jne 0x557297
mov dword [esi], edx
add edi, 2
mov edx, dword [esp + 0xb4]
jmp 0x557c58
sub edi, 2
jmp 0x557c2b
cmp edx, 0x8fff0000
jne 0x557297
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 0x557314
mov ebx, dword [esp + 0xb4]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x4c], ebp
jmp 0x55732f
add ebp, 0xc
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x84]
jae 0x558516
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 0x555d90
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push ebp
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x84], 0x685de0
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.00559b70
add esp, 0x24
test eax, eax
je 0x558454
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x38], edi
cmp edi, ebx
jae 0x558539
movzx eax, word [edi]
cmp eax, 0x3a
je 0x5573c0
cmp eax, 0x29
jne 0x558539
mov edi, dword [esp + 0x7c]
xor ebx, ebx
mov dword [esp + 0x3c], ebx
xor esi, esi
mov ebp, 0x685e10
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp]
jne 0x5573ec
push eax
push edi
push dword [esp + 0x58]
call fcn.00588da0
add esp, 0xc
test eax, eax
je 0x5573ff
inc edi
inc ebx
add edi, dword [ebp]
mov esi, ebx
add ebp, 0xc
mov dword [esp + 0x3c], ebx
cmp ebx, 9
jl 0x5573d1
mov edi, dword [esp + 0x38]
cmp esi, 9
mov esi, dword [esp + 0x1c]
jge 0x558539
cmp word [edi], 0x3a
jne 0x557426
lea eax, [edi + 2]
cmp eax, dword [esp + 0x10]
jae 0x557426
cmp word [eax], 0x29
cmove edi, eax
lea ecx, [ebx + ebx*2]
mov ebx, dword [ecx*4 + 0x685e18]
test ebx, ebx
jle 0x55743e
cmp word [edi], 0x3a
jne 0x558436
mov ecx, dword [ecx*4 + 0x685e14]
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 0x5574c1
test ebx, ebx
jns 0x557478
mov dword [esp + 0x80], ecx
mov eax, 0x80290000
jmp 0x55748a
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 0x555d90
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 0x555d90
add edi, 2
mov dword [esp + 0xa8], edi
mov edx, edi
cmp edi, ecx
jae 0x55857f
movzx ecx, word [edi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x55750b.34
movzx eax, byte [eax + 0x558754]
jmp dword [eax*4 + 0x55871c]
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x55857f
movzx eax, word [edi]
cmp eax, 0x3c
jne 0x55753a
mov eax, 0x3e
jmp 0x557cc5
cmp eax, 0x3e
je 0x55761d
cmp eax, 0x3d
jne 0x558440
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.00559b70
add esp, 0x24
test eax, eax
je 0x558454
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 0x555d90
mov ecx, dword [esp + 0x10]
xor eax, eax
add edi, 2
mov dword [esp + 0x3c], eax
cmp edi, ecx
jae 0x55844a
cmp word [edi], 0x29
jne 0x55844a
mov ebx, dword [esp + 0xb4]
jmp 0x557ff0
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x55760f
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x55760f
cmp eax, 0x39
jbe 0x557f79
mov ecx, 0x81
jmp 0x558584
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.00559b70
add esp, 0x24
test eax, eax
je 0x558454
mov dword [esi], 0x80210000
jmp 0x55758d
mov ebp, dword [esp + 0x10]
lea edx, [edi + 2]
mov edi, edx
cmp edx, ebp
jae 0x55857f
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
dec eax
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x55769d
test byte [esp + 0x2c], 4
je 0x55769d
lea eax, [esi - 0x10]
cmp ecx, eax
jne 0x55769d
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 0x557752
cmp ebx, 0x30
jb 0x5576c9
cmp ebx, 0x39
jbe 0x557752
mov ecx, dword [0x6a2af4]
xor eax, eax
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x5576f4
nop dword [eax]
cmp ebx, ecx
je 0x5576fe
mov ecx, dword [eax*4 + 0x6a2af8]
inc eax
mov dword [esp + 0x3c], eax
test ecx, ecx
jne 0x5576e0
mov ecx, 0xb6
jmp 0x558584
mov ecx, dword [eax*4 + 0x6a2ad0]
test ecx, ecx
je 0x5576f4
mov dword [esi], 0x80070000
nop
add edi, 2
cmp edi, ebp
jae 0x558464
movzx eax, word [edi]
cmp eax, ecx
jne 0x557710
add edi, 2
cmp edi, ebp
jae 0x557730
movzx eax, word [edi]
cmp eax, ecx
je 0x557710
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 0x557798
xor ebx, ebx
mov dword [esi], 0x80060000
add esi, 0xc
nop dword [eax]
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x30
jb 0x55778f
cmp eax, 0x39
ja 0x55778f
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 0x558470
mov edx, edi
cmp edi, ebp
jb 0x557760
mov dword [esi], ebx
mov ebx, dword [esp + 0xb4]
cmp ecx, ebp
jae 0x55847a
cmp word [edi], 0x29
jne 0x55847a
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 0x555d90
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x55857f
mov ebp, dword [esp + 0x14]
movzx eax, word [edi]
inc ebp
mov dword [esp + 0x14], ebp
cmp eax, 0x3f
je 0x557b53
cmp eax, 0x2a
je 0x557b53
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.00559dc0
add esp, 0x1c
test eax, eax
je 0x557870
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test ecx, ecx
jle 0x558484
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 0x557b2e
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x5583da
mov ecx, dword [esp + 0x10]
mov ebp, ecx
mov ebx, dword [esp + 0xa8]
sub ebp, ebx
sar ebp, 1
cmp ebp, 0xa
jl 0x5579c2
push 7
push str.VERSION
push ebx
call fcn.00588da0
add esp, 0xc
test eax, eax
jne 0x5579be
cmp word [ebx + 0xe], 0x29
lea edi, [ebx + 0xe]
je 0x5579be
xor ebp, ebp
xor ebx, ebx
cmp word [edi], 0x3e
mov eax, edi
mov dword [esp + 0x40], ebp
jne 0x5578d4
add edi, 2
lea ebp, [ebx + 1]
mov eax, edi
cmp word [edi], 0x3d
jne 0x55848e
lea edi, [eax + 2]
movzx eax, word [edi]
mov dword [esp + 0xa8], edi
cmp eax, 0x30
jb 0x55848e
cmp eax, 0x39
ja 0x55848e
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.00559dc0
add esp, 0x1c
test eax, eax
je 0x558454
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x55848e
cmp word [edi], 0x2e
jne 0x5579a4
add edi, 2
cmp edi, edx
jae 0x55848e
movzx eax, word [edi]
cmp eax, 0x30
jb 0x55848e
cmp eax, 0x39
ja 0x55848e
sub eax, 0x30
add edi, 2
lea ebx, [eax + eax*4]
add ebx, ebx
cmp edi, edx
jae 0x55848e
movzx eax, word [edi]
cmp eax, 0x30
jb 0x55799a
cmp eax, 0x39
ja 0x55799a
add eax, 0xffffffd0
lea ecx, [edi + 2]
add ebx, eax
mov edi, ecx
cmp ecx, edx
jae 0x55848e
cmp word [edi], 0x29
jne 0x55848e
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 0x557b23
mov ecx, dword [esp + 0x10]
movzx eax, word [ebx]
mov dword [esp + 0x28], 0
cmp eax, 0x52
jne 0x5579ef
cmp ebp, 1
jle 0x557a0a
cmp word [ebx + 2], 0x26
lea eax, [ebx + 2]
jne 0x557a0a
mov ebx, 1
mov dword [esp + 0xa8], eax
jmp 0x557a18
cmp eax, 0x3c
jne 0x5579fd
mov ebx, dword [esp + 0x28]
lea edi, [eax + 2]
jmp 0x557a1d
cmp eax, 0x27
jne 0x557a0a
mov ebx, dword [esp + 0x28]
mov edi, eax
jmp 0x557a1d
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.00559b70
add esp, 0x24
test eax, eax
je 0x558454
mov ebp, dword [esp + 0x34]
test ebx, ebx
je 0x557a73
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80130000
sub edi, 2
jmp 0x557b0c
cmp edi, 0x29
jne 0x557aff
mov ebx, dword [esp + 0x50]
cmp ebp, 6
jne 0x557aac
push 6
push str.DEFINE
push ebx
call fcn.00588da0
add esp, 0xc
test eax, eax
jne 0x557aac
mov eax, 0x80100000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x557b0c
mov eax, 1
mov dword [esp + 0x3c], eax
mov ecx, eax
cmp ebp, eax
jle 0x557add
mov edi, eax
nop dword [eax]
movzx edx, word [ebx + eax*2]
mov ecx, edi
cmp edx, 0x30
jb 0x557add
cmp edx, 0x39
ja 0x557add
inc eax
mov dword [esp + 0x3c], eax
mov ecx, eax
mov edi, ecx
cmp eax, ebp
jl 0x557ac0
cmp word [ebx], 0x52
jne 0x557aec
mov eax, 0x80140000
cmp ecx, ebp
jge 0x557af1
mov eax, 0x80110000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x557b0c
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80110000
mov eax, dword [esi]
add esi, 4
cmp eax, 0x80100000
je 0x557b1d
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 0x558498
cmp word [edi], 0x29
jne 0x558498
add edi, 2
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x555d8c
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 0x555d8c
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 0x555d8c
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80230000
jmp 0x557c58
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80270000
jmp 0x557c58
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80240000
jmp 0x557c58
mov eax, dword [esp + 0x10]
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x557530
movzx eax, word [edi + 2]
cmp eax, 0x3d
je 0x557c22
cmp eax, 0x21
je 0x557c10
cmp eax, 0x2a
jne 0x557530
cmp eax, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x557c27
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 0x557cb0
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jne 0x557c7d
mov ebp, dword [edx + 0x14]
mov dword [esp + 0x4c], ebp
jmp 0x557c91
add ebp, 0xc
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x84]
jae 0x558516
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 0x555d8c
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.00559b70
add esp, 0x24
test eax, eax
je 0x558454
mov eax, dword [ebx + 0x74]
cmp eax, 0xffff
jae 0x5584e6
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 0x5584d5
mov ecx, dword [esp + 0x34]
movzx eax, word [ebx + 0x5a]
add ecx, 2
cmp ecx, eax
mov ecx, dword [esp + 0x34]
jbe 0x557d52
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 0x557de3
nop dword [eax]
movzx eax, word [edi + 8]
cmp ecx, eax
jne 0x557dba
push ecx
push dword [edi]
push dword [esp + 0x58]
call fcn.00588d60
add esp, 0xc
test eax, eax
jne 0x557dba
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x557dea
test byte [esp + 0x2c], 0x40
je 0x5584a2
mov eax, 1
mov word [edi + 0xa], ax
mov dword [esp + 0x40], eax
mov dword [ecx + 0xbc], eax
jmp 0x557dcd
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x5584b3
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 0x557d70
mov ecx, dword [esp + 0xb4]
movzx ecx, word [ecx + 0x58]
mov edx, ecx
cmp ebx, edx
jge 0x557e2d
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 0x555d90
mov edi, dword [esp + 0xa8]
mov ebx, ebp
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x555d90
mov ebx, dword [esp + 0xb4]
mov eax, dword [ebx + 0x68]
cmp edx, eax
jb 0x557ec7
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 [0x5c53f0]
call edi
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5584c4
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.00591570
add esp, 0xc
cmp dword [edi + 0x68], 0x14
jbe 0x557eb6
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 [0x5c53f0]
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 0x555d90
cmp ecx, 0x2d
jne 0x557f4d
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x557f4d
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x557f4d
cmp eax, 0x39
jbe 0x557f79
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x4c]
inc ecx
mov dword [esp + 0x14], ecx
test ebp, ebp
jne 0x558024
mov ebx, dword [esp + 0xb4]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x4c], ebp
jmp 0x55803f
mov edx, dword [esp + 0x10]
cmp ecx, 0x30
jb 0x557f8f
cmp ecx, 0x39
ja 0x557f8f
mov ebx, dword [esp + 0xb4]
or eax, 0xffffffff
jmp 0x557f99
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.00559dc0
add esp, 0x1c
test eax, eax
je 0x558454
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test eax, eax
js 0x5584f7
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x55857f
cmp word [edi], 0x29
jne 0x55857f
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 0x555d90
add ebp, 0xc
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x84]
jae 0x558516
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 0x55809e
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 0x555d90
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 0x5580d8
and dword [esp + 0x2c], 0xfeffdb57
add edi, 2
mov dword [esp + 0x28], eax
mov ecx, edi
cmp ecx, dword [esp + 0x10]
jae 0x5581a6
mov edx, ecx
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x29
je 0x55819e
cmp eax, 0x3a
je 0x55819e
sub eax, 0x2d
lea edi, [edx + 2]
cmp eax, 0x4b
ja case.0x558111.46
movzx eax, byte [eax + 0x5587ac]
jmp dword [eax*4 + 0x558788]
cmp dword [esp + 0x28], ebp
je 0x558504
lea ebx, [esp + 0x70]
mov dword [esp + 0x28], ebp
mov ecx, edi
jmp 0x558192
mov eax, dword [esp + 0xb4]
mov ecx, edi
or dword [ebx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x558192
or dword [ebx], 8
mov ecx, edi
jmp 0x558192
or dword [ebx], 0x400
mov ecx, edi
jmp 0x558192
or dword [ebx], 0x2000
mov ecx, edi
jmp 0x558192
or dword [ebx], 0x20
mov ecx, edi
jmp 0x558192
or dword [ebx], 0x40000
mov ecx, edi
jmp 0x558192
mov eax, dword [ebx]
mov ecx, edi
or eax, 0x80
mov dword [ebx], eax
cmp edi, dword [esp + 0x10]
jae 0x558192
cmp word [edi], 0x78
jne 0x558192
or eax, 0x1000000
lea ecx, [edi + 2]
mov dword [ebx], eax
mov edi, ecx
mov edx, ecx
cmp edi, dword [esp + 0x10]
jb 0x5580e4
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
mov eax, ebp
and eax, 0x1000080
cmp eax, 0x80
je 0x5581b8
test dl, dl
jns 0x5581be
or edx, 0x1000000
or ebp, dword [esp + 0x2c]
not edx
and edx, ebp
mov dword [esp + 0x2c], edx
cmp ecx, dword [esp + 0x10]
jae 0x55857f
mov ax, word [edi]
lea edi, [ecx + 2]
mov ebx, dword [esp + 0xb4]
cmp ax, 0x29
jne 0x558213
mov eax, dword [esp + 0xa0]
mov ebp, dword [esp + 0x4c]
movzx ecx, ax
mov dword [esp + 0x14], ecx
cmp ebp, dword [ebx + 0x14]
jbe 0x55820d
cmp word [ebp - 0xc], cx
lea eax, [ebp - 0xc]
jne 0x55820d
mov dword [esp + 0x4c], eax
jmp 0x558220
mov word [ebp], cx
jmp 0x558220
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 0x555d8c
mov dword [esi], 0x801b0000
mov dword [esi + 4], edx
add esi, 8
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
jmp 0x555d90
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0xb4]
test ebp, ebp
je 0x558280
mov ecx, dword [esp + 0x14]
cmp word [ebp], cx
jne 0x558280
test byte [ebp + 6], 1
je 0x558280
movzx eax, word [ebp + 4]
mov ecx, dword [ebx + 0x74]
cmp ecx, eax
jbe 0x558279
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 0x555d90
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x24], 1
test ebp, ebp
je 0x55831e
mov ecx, dword [esp + 0x14]
cmp word [ebp], cx
jne 0x55831e
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 0x5582ea
movzx edx, word [ebp + 4]
cmp edx, dword [ebx + 0x74]
jbe 0x5582ea
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 0x558304
mov dword [esi], 0x80190000
add esi, 4
cmp ebp, dword [ebx + 0x14]
jne 0x558311
xor eax, eax
mov dword [esp + 0x4c], eax
jmp 0x558325
sub ebp, 0xc
mov dword [esp + 0x24], ecx
mov dword [esp + 0x4c], ebp
jmp 0x558325
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x14]
test bp, bp
je 0x55851d
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 0x555d8c
mov dword [esi], ebx
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], 1
jmp 0x555d81
mov ecx, 0x8c
jmp 0x558584
mov edi, dword [esp + 0x30]
mov ecx, 0xb0
add edi, 0xfffffffe
jmp 0x558584
mov ecx, 0x76
jmp 0x558584
mov ecx, 0x6d
sub edi, 2
jmp 0x558584
movzx eax, word [edi]
xor ecx, ecx
mov edi, dword [esp + 0x30]
add edi, 0xfffffffe
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x558584
mov ecx, 0x71
sub edi, 2
jmp 0x558584
mov edi, dword [esp + 0xa8]
mov ecx, 0x6b
sub edi, 2
jmp 0x558584
mov ecx, 0xab
mov edi, dword [esp + 0xa8]
jmp 0x558584
mov edi, dword [esp + 0xa8]
mov ecx, 0x96
jmp 0x558584
mov ecx, 0x6c
sub edi, 2
jmp 0x558584
mov ecx, 0x6a
jmp 0x558584
cmp edx, 0x80270000
je 0x558422
cmp edx, 0x80280000
jne 0x556371
mov ecx, 0xc6
jmp 0x558584
mov ecx, 0xc3
jmp 0x558584
mov ecx, 0xa6
jmp 0x558584
mov ecx, 0x8d
jmp 0x558584
mov ecx, 0x9e
jmp 0x558584
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x20]
jmp 0x558584
mov ecx, 0xb5
mov edi, edx
jmp 0x558584
mov ecx, 0x8a
jmp 0x558584
mov ecx, 0x8b
jmp 0x558584
mov ecx, 0x73
jmp 0x558584
mov ecx, 0xb3
jmp 0x558584
mov ecx, 0x7c
jmp 0x558584
mov edi, dword [esp + 0xa8]
mov ecx, 0x8f
jmp 0x558584
mov edi, dword [esp + 0xa8]
mov ecx, 0xa5
jmp 0x558584
mov edi, dword [esp + 0xa8]
mov ecx, 0x79
jmp 0x558584
mov edi, dword [esp + 0xa8]
mov ecx, 0x95
jmp 0x558584
mov edi, dword [esp + 0xa8]
mov ecx, 0xc5
jmp 0x558584
mov ecx, 0x73
sub edi, 2
jmp 0x558584
mov ecx, 0xc2
mov edi, edx
jmp 0x558584
mov ecx, 0x6f
mov edi, edx
jmp 0x558584
mov ecx, 0xb8
jmp 0x558584
mov ecx, 0x7a
sub edi, 2
jmp 0x558584
mov ecx, 0x77
jmp 0x558584
cmp dword [esp + 0x6c], 0
je 0x555ca9
mov ecx, 0xa0
jmp 0x558584
test byte [esp + 0x78], 4
je 0x558557
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [esp + 0x8c]
jb 0x558567
mov ecx, 0xa3
jmp 0x558584
mov dword [ecx], 0x80000000
test bp, bp
jne 0x55857f
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