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

Disassembly:
sub esp, 0x94
mov edx, dword [esp + 0xa4]
xor eax, eax
mov dword [esp + 0x80], eax
xor ecx, ecx
mov dword [esp + 0x6c], eax
push ebx
mov eax, dword [edx + 0x80]
xor ebx, ebx
mov dword [esp + 0x80], eax
mov eax, dword [edx]
push ebp
mov ebp, dword [edx + 0x20]
push esi
mov eax, dword [eax + 0x24]
mov esi, dword [edx + 0x7c]
mov dword [esp + 0x7c], ecx
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 + 0x68], eax
and ecx, 1
mov dword [esp + 0x6c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x70], 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], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x94], ebx
je 0x533eb7
mov dword [esi], 0x80090000
jmp 0x533ec2
test cl, 4
je 0x533ed0
mov dword [esi], 0x80180005
mov dword [esi + 4], 0x801a0000
add esi, 8
mov dword [esp + 0x1c], esi
test edi, 0x2000000
je 0x534034
mov edi, dword [esp + 0xa8]
cmp edi, ebp
jae 0x533fc3
nop dword [eax + eax]
cmp esi, dword [esp + 0x8c]
jae 0x536821
movzx ecx, word [edi]
mov edx, edi
lea edi, [edx + 2]
test eax, eax
je 0x533f33
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x533f33
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 0x533fa7
cmp dword [esp + 0x18], 0
mov ebx, esi
je 0x533f73
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 0x533f73
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xc], 0xff
je 0x533f8e
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 [esp + 0x18], eax
mov dword [eax + 4], edx
mov eax, dword [esp + 0x44]
mov dword [esi], ecx
add esi, 4
cmp edi, ebp
jb 0x533ef0
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0xb4]
mov ecx, esi
test ebx, ebx
je 0x533fd6
mov eax, edi
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, dword [ebx + 4]
mov dword [ebx + 8], eax
cmp dword [esp + 0x74], 0
je 0x534014
test ebx, ebx
je 0x533ff1
lea eax, [esi - 0x10]
cmp ebx, eax
jne 0x533ff1
cmp dword [ebx + 0xc], 0xff
je 0x53400a
mov ebx, 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 [edx + 0x1c]
sar eax, 1
mov dword [ebx + 4], eax
cmp dword [esp + 0x88], 0
je 0x536801
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x536815
mov ebp, edx
mov dword [esp + 0x30], 0xc
xor eax, eax
xor edx, edx
mov dword [esp + 0x38], eax
mov ecx, dword [ebp + 0x28]
add ecx, ecx
mov eax, ecx
div dword [esp + 0x30]
mov eax, dword [ebp + 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
jmp 0x5340a0
mov ecx, dword [esp + 0x10]
jmp 0x5340a0
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
nop dword [eax]
movzx eax, dx
mov dword [esp + 0xa0], eax
cmp edi, ecx
jae 0x5367ef
mov dword [esp + 0x60], 0
mov dword [esp + 0x30], 0
cmp esi, dword [esp + 0x8c]
jae 0x536821
mov ecx, dword [ebp]
movzx eax, dx
cmp eax, dword [ecx + 0x20]
ja 0x5367e8
cmp dword [esp + 0x44], 0
mov edx, edi
movzx ebx, word [edi]
mov dword [esp + 0x24], edx
mov ebp, ebx
mov dword [esp + 0x4c], ebx
lea edi, [edx + 2]
mov eax, edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0x40], eax
je 0x53414b
mov eax, ebx
mov dword [esp + 0x40], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x534147
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 + 0x4c], ebx
mov dword [esp + 0xa8], edi
mov ebp, ebx
mov dword [esp + 0x40], eax
jmp 0x53414b
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], 0
je 0x5341ef
cmp ebp, 0x5c
jne 0x534179
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jae 0x534179
cmp word [edi], 0x45
jne 0x534179
mov dword [esp + 0x54], 0
lea edi, [eax + 2]
jmp 0x53408e
cmp dword [esp + 0x6c], 0
jg case.0x53464d.34
cmp dword [esp + 0x70], 0
jne 0x5341c6
mov ecx, dword [esp + 0x68]
mov eax, ecx
dec ecx
mov dword [esp + 0x68], ecx
test eax, eax
jg 0x5341be
push dword [esp + 0xb4]
lea eax, [esp + 0x68]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.00533d80
mov esi, eax
add esp, 0x14
mov eax, dword [esp + 0x64]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
mov edx, dword [esp + 0x14]
mov dword [esi], ebx
add esi, 4
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
jmp 0x5340a0
cmp dword [esp + 0x70], 0
je 0x534366
mov eax, dword [esp + 0x2c]
and eax, 0x400080
cmp eax, 0x400080
jne 0x53425a
cmp ebp, 0xff
jbe 0x534225
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x534225
cmp eax, 0x2029
jne 0x5341ce
cmp ebp, 0x100
jae 0x534366
cmp ebp, 0x23
je 0x534396
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x534366
cmp ebp, 0x85
je 0x534396
cmp ebp, 0x29
je 0x5342fb
cmp ebp, 0x5c
jne 0x5341ce
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xb4]
test edx, 0x400000
je 0x5342e9
push ebp
push 0
push dword [ecx + 0x24]
lea eax, [esp + 0x34]
push edx
push eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0xc4]
push eax
call fcn.0052dbc0
mov ecx, dword [esp + 0x48]
add esp, 0x20
test ecx, ecx
jne 0x536649
sub eax, ecx
je 0x5342de
sub eax, 0x19
je case.default.0x5349f7
mov edi, dword [esp + 0xa8]
sub eax, 1
jne 0x5365e9
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], 1
jmp 0x534095
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
mov dword [esi], ebx
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x534095
mov ebp, dword [esp + 0xb4]
mov eax, edi
sub eax, dword [esp + 0x94]
sar eax, 1
dec eax
mov dword [esp + 0x70], 0
cmp eax, 0xffff
jg 0x5365f3
mov ecx, dword [esp + 0x90]
mov eax, esi
mov ebx, dword [esp + 0x18]
sub eax, ecx
mov edx, 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 0x5340a0
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x80], 0
jmp 0x534095
cmp ebp, 0x5c
jne 0x534396
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x10]
jae 0x534396
movzx eax, word [edi]
cmp eax, 0x51
je 0x534382
cmp eax, 0x45
jne 0x534396
xor edx, edx
lea edi, [ecx + 2]
cmp eax, 0x51
sete dl
mov dword [esp + 0x54], edx
jmp 0x53408a
test byte [esp + 0x2c], 0x80
je 0x5344bd
cmp ebp, 0x100
jae 0x5343bd
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x53408a
cmp ebp, 0x85
je 0x53408a
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x53408a
cmp eax, 0x2029
je 0x53408a
cmp ebp, 0x23
jne 0x5344bd
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp edi, ecx
jae 0x5340a0
nop dword [eax + eax]
mov eax, dword [ebp + 0x90]
mov ecx, dword [ebp + 0x20]
test eax, eax
je 0x534449
cmp edi, ecx
jae 0x534476
push dword [esp + 0x44]
lea ebx, [ebp + 0x94]
push ebx
push ecx
push eax
push edi
call fcn.00538a30
add esp, 0x14
test eax, eax
je 0x534476
mov edx, dword [ebx]
mov ecx, dword [esp + 0x10]
lea edi, [edi + edx*2]
jmp 0x534095
mov edx, dword [ebp + 0x94]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x534476
mov ax, word [edi]
cmp ax, word [ebp + 0xa0]
jne 0x534476
cmp edx, 1
je 0x53443d
mov ax, word [edi + 2]
cmp ax, word [ebp + 0xa2]
je 0x53443d
mov ecx, dword [esp + 0x10]
add edi, 2
cmp dword [esp + 0x44], 0
mov eax, edi
je 0x5344a8
cmp edi, ecx
jae 0x5344a8
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x534410
add edi, 2
mov eax, edi
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp eax, ecx
jb 0x534410
jmp 0x5340a0
cmp ebp, 0x28
jne 0x534501
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x53453b
cmp word [edi], 0x3f
jne 0x53453b
cmp word [edi + 2], 0x23
jne 0x53453b
nop
add edi, 2
cmp edi, ecx
jae 0x536604
cmp word [edi], 0x29
jne 0x5344e0
cmp edi, ecx
jae 0x536604
add edi, 2
jmp 0x53408e
cmp ebp, 0x2a
je 0x534572
cmp ebp, 0x2b
je 0x534572
cmp ebp, 0x3f
je 0x534572
cmp ebp, 0x7b
jne 0x53453b
lea eax, [esp + 0x28]
mov dword [esp + 0x5c], edi
push eax
push 0
push 0
push dword [esp + 0x1c]
lea eax, [esp + 0x6c]
push eax
call fcn.00538120
add esp, 0x14
test eax, eax
jne 0x534572
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x68]
mov eax, ecx
dec ecx
mov dword [esp + 0x68], ecx
test eax, eax
jg 0x534572
push dword [esp + 0xb4]
lea eax, [esp + 0x68]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.00533d80
mov esi, eax
add esp, 0x14
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x6c]
test edx, edx
jle 0x5345d4
cmp ebp, 0x28
jne case.0x53464d.34
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x53464d.34
movzx eax, word [edi]
cmp eax, 0x3f
je 0x53463a
cmp eax, 0x2a
jne case.0x53464d.34
movzx eax, word [edi + 2]
mov ecx, 0xff
mov ebp, dword [esp + 0xb4]
cmp ax, cx
ja 0x534671
mov ecx, eax
mov eax, dword [ebp + 0x10]
test byte [ecx + eax], 4
je 0x534671
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x24], edx
xor edx, edx
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x58]
mov eax, edx
mov dword [esp + 0x20], 0
mov dword [esp + 0x58], 0
test eax, eax
je 0x53468c
cmp ebx, 0x3f
je 0x53460e
cmp ebx, 0x2b
jne 0x53468c
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 0x53408a
movzx eax, word [edi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x53464d.34
movzx eax, byte [eax + 0x536874]
jmp dword [eax*4 + 0x536864]
movzx eax, word [edi + 4]
cmp eax, 0x3d
je case.0x53464d.33
cmp eax, 0x21
je case.0x53464d.33
mov ebp, dword [esp + 0xb4]
mov edi, dword [esp + 0x40]
mov ecx, 0x80
add edi, 0xfffffffe
jmp 0x53684f
cmp edx, 2
jne case.0x53464d.34
jmp case.0x53464d.33
lea eax, [ebx - 0x24]
cmp eax, 0x58
ja case.0x53469f.37
movzx eax, byte [eax + 0x5368cc]
jmp dword [eax*4 + 0x536898]
mov ebp, dword [esp + 0xb4]
push ebp
push 0
mov dword [esp + 0x64], edi
mov eax, dword [ebp]
push dword [eax + 0x24]
lea eax, [esp + 0x34]
push dword [esp + 0x38]
push eax
lea eax, [esp + 0x60]
push eax
push ecx
lea eax, [esp + 0xc4]
push eax
call fcn.0052dbc0
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov ebx, eax
test ecx, ecx
jne 0x53471a
test ebx, ebx
je 0x534a61
js 0x534a1f
lea eax, [ebx - 6]
cmp eax, 0x16
ja case.0x534700.13
movzx eax, byte [eax + 0x536940]
jmp dword [eax*4 + 0x536928]
test dword [esp + 0x2c], 0x100000
je case.0x534700.12
mov ecx, 0xb7
mov dword [esp + 0x28], ecx
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
test byte [esp + 0x78], 2
je 0x536848
mov eax, dword [esp + 0x5c]
mov edi, eax
cmp eax, edx
jb 0x534a71
mov ecx, 0x5c
mov ebp, dword [esp + 0xb4]
mov dword [esi], ecx
add esi, 4
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], 1
jmp 0x5340a0
mov dword [esp + 0x20], 1
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
add esi, 4
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], esi
jmp 0x5340a0
push ebp
lea eax, [esp + 0x2c]
mov dword [esp + 0x28], 0
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.00533610
add esp, 0x18
test eax, eax
je 0x534991
cmp dword [esp + 0x98], 0
je 0x5347f0
xor eax, eax
cmp ebx, 0xf
sete al
lea ebx, [eax + 0xf]
movzx ecx, word [esp + 0x24]
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
movzx eax, word [esp + 0x40]
shl ecx, 0x10
or ecx, eax
mov dword [esi + 4], ecx
add esi, 8
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], 1
nop dword [eax]
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
jmp 0x5340a0
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x53499a
movzx eax, word [edi]
cmp eax, 0x7b
je 0x534865
cmp eax, 0x3c
je 0x5348e5
cmp eax, 0x27
jne 0x53499a
cmp eax, 0x27
mov ebp, 0x7d
mov eax, 0x27
cmove ebp, eax
cmp ebx, 0x1b
jne 0x53490a
cmp ebp, 0x7d
je 0x53490a
lea eax, [edi + 2]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0xbc]
push 0xa1
push 0xffff
push dword [eax + 0x74]
lea eax, [esp + 0x38]
push edx
push eax
call fcn.00537fe0
add esp, 0x1c
test eax, eax
je 0x5348fa
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
cmp ecx, edx
jae 0x5348ec
movzx eax, word [ecx]
cmp eax, ebp
jne 0x5348ec
mov eax, dword [esp + 0x3c]
mov edi, ecx
mov ebp, dword [esp + 0xb4]
mov ecx, edx
jmp 0x536257
mov ebp, 0x3e
jmp 0x534875
mov ecx, 0x9d
mov dword [esp + 0x28], ecx
jmp 0x534725
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x534721
mov edx, dword [esp + 0x10]
push dword [esp + 0xb4]
lea eax, [esp + 0x2c]
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.00537d90
add esp, 0x24
test eax, eax
je 0x534991
cmp ebx, 0x1c
je 0x53494e
mov eax, 0x80210000
cmp ebp, 0x7d
jne 0x534953
mov eax, 0x80040000
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov edx, 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 + 0x20], 1
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov ecx, dword [esp + 0x28]
jmp 0x53471a
cmp ebx, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x534725
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x20], 1
je case.0x534700.13
cmp ebx, 7
je 0x5349dd
cmp ebx, 9
je 0x5349dd
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x5349e2
mov eax, 0x80180010
mov dword [esi], eax
add ebx, 0xfffffffa
add esi, 4
mov dword [esp + 0x1c], esi
cmp ebx, 5
ja case.default.0x5349f7
jmp dword [ebx*4 + 0x536958]
mov dword [esi], 0x3000d
jmp 0x53477c
mov dword [esi], 0x70000
jmp 0x53477c
mov dword [esi], 0x90000
jmp 0x53477c
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 0x53474a
cmp dword [ebp + ebx*4 + 0x2c], 0xffffffff
jne 0x534753
mov dword [ebp + ebx*4 + 0x2c], ecx
jmp 0x534753
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x4c]
jmp 0x53474a
cmp dword [esp + 0x44], 0
lea edi, [eax + 2]
movzx ecx, word [eax]
je 0x534743
mov ebp, dword [esp + 0xb4]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x53474a
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
jmp 0x53474a
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esi], 0x80090000
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esi], 0x80160000
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esi], 0x80170000
add esi, 4
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov dword [esp + 0x58], 0x80340000
jmp 0x534b98
mov dword [esp + 0x58], 0x80370000
jmp 0x534b98
mov dword [esp + 0x58], 0x803a0000
jmp 0x534b98
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x68]
push eax
push ecx
lea eax, [esp + 0xb8]
push eax
call fcn.00538120
add esp, 0x14
test eax, eax
jne 0x534b89
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x536642
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x20], 1
jmp 0x5341ce
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x58], 0x803d0000
test ebp, ebp
je 0x53660e
cmp dword [esi - 4], 0x802a0000
lea ecx, [esi - 4]
jne 0x534bd0
mov edx, dword [esp + 0x7c]
cmp ecx, edx
jb 0x534bc0
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x534bb4
mov dword [edx], 0x801a0000
mov dword [esi + 4], 0x80190000
add esi, 8
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
mov edx, dword [esp + 0x14]
mov dword [esi], eax
add esi, 4
cmp ebx, 0x7b
mov dword [esp + 0x1c], esi
mov ebx, dword [esp + 0x18]
jne 0x5340a0
mov eax, dword [esp + 0x60]
mov dword [esi], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 4], eax
add esi, 8
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov eax, ecx
mov dword [esp + 0x20], 1
sub eax, edi
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x534d02
push 6
push 0x5a6ac0
push edi
call fcn.00538450
add esp, 0xc
test eax, eax
je 0x534c56
push 6
push str._:_:__
push edi
call fcn.00538450
add esp, 0xc
test eax, eax
jne 0x534cfe
mov dword [esi], 0x80180005
lea eax, [esi + 8]
cmp word [edi + 4], 0x3c
jne 0x534c6f
mov dword [esi + 4], 0x80230000
jmp 0x534c8c
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 0x534cc7
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [eax], 0x8018000b
mov dword [esi], 0x80190000
add esi, 4
add edi, 0xc
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov edx, 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 0x5340a0
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x534d33
movzx eax, word [edi]
cmp eax, 0x3a
je 0x534d18
cmp eax, 0x2e
je 0x534d18
cmp eax, 0x3d
jne 0x534d33
lea eax, [esp + 0x5c]
push eax
push ecx
push edi
call fcn.0052ed70
add esp, 0xc
test eax, eax
jne 0x53661b
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x24], edx
cmp edi, ecx
jae 0x534e36
mov esi, dword [esp + 0x44]
movzx ebx, word [edi]
add edi, 2
mov dword [esp + 0x4c], ebx
mov ecx, ebx
mov dword [esp + 0xa8], edi
mov ebp, edi
test esi, esi
je 0x534d97
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x534d97
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 + 0x4c], ebx
mov ecx, ebx
mov dword [esp + 0xa8], edi
mov ebp, edi
cmp ecx, 0x5c
jne 0x534df4
mov ecx, dword [esp + 0x10]
cmp ebp, ecx
jae 0x534dbb
cmp word [edi], 0x45
jne 0x534dbb
mov eax, 2
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x534e24
mov eax, ecx
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 6
jl 0x534e32
push 3
push 0x5a6ad0
push edi
call fcn.00538450
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x534e32
mov eax, 6
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x534e24
test dword [esp + 0x2c], 0x1000000
je 0x534e08
cmp ecx, 0x20
je 0x534e20
cmp ecx, 9
je 0x534e20
test edx, edx
jne 0x534e2e
cmp ecx, 0x5e
mov ecx, dword [esp + 0x10]
jne 0x534e32
mov edx, 1
mov dword [esp + 0x24], edx
jmp 0x534e24
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jb 0x534d45
jmp 0x534e32
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
cmp ebx, 0x5d
jne 0x534e6d
mov ebp, dword [esp + 0xb4]
test byte [ebp + 0x6c], 1
je 0x534e6d
mov ebx, dword [esp + 0x18]
test edx, edx
mov edx, 0x800c0000
mov eax, 0x800b0000
cmovne eax, edx
mov edx, dword [esp + 0x14]
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x5340a0
test edx, edx
mov eax, 0x800a0000
mov edx, 0x800e0000
cmovne eax, edx
mov dword [esi], eax
add esi, 4
mov eax, dword [esp + 0x54]
xor edx, edx
mov dword [esp + 0x20], edx
nop dword [eax + eax]
mov ebp, 1
test eax, eax
je 0x534ec4
cmp ebx, 0x5c
jne 0x535138
cmp edi, ecx
jae 0x535138
cmp word [edi], 0x45
jne 0x535138
mov dword [esp + 0x54], 0
add edi, 2
jmp 0x5352ed
test dword [esp + 0x2c], 0x1000000
je 0x534ee0
cmp ebx, 0x20
je 0x5352ed
cmp ebx, 9
je 0x5352ed
cmp ebx, 0x5b
jne 0x535052
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl 0x535138
movzx eax, word [edi]
cmp eax, 0x3a
je 0x534f0f
cmp eax, 0x2e
je 0x534f0f
cmp eax, 0x3d
jne 0x535138
lea eax, [esp + 0x5c]
push eax
push ecx
push edi
call fcn.0052ed70
add esp, 0xc
test eax, eax
je 0x535134
mov dword [esp + 0x24], 0
cmp dword [esp + 0x20], ebp
je 0x53668b
cmp word [edi], 0x3a
jne 0x536635
add edi, 2
mov edx, edi
cmp word [edi], 0x5e
jne 0x534f56
add edi, 2
mov dword [esp + 0x24], ebp
mov edx, edi
mov ebp, dword [esp + 0x5c]
mov ecx, 0x5a6800
sub ebp, edx
mov dword [esp + 0x30], ecx
sar ebp, 1
xor ebx, ebx
nop dword [eax]
movzx eax, byte [ebx + 0x5a6854]
cmp ebp, eax
jne 0x534f90
push ebp
push ecx
push edx
call fcn.00538450
add esp, 0xc
test eax, eax
je 0x534fb2
mov ecx, dword [esp + 0x30]
mov edx, edi
movzx eax, byte [ebx + 0x5a6854]
inc ecx
inc ebx
add ecx, eax
mov dword [esp + 0x30], ecx
cmp byte [ebx + 0x5a6854], 0
jne 0x534f70
mov ecx, 0x82
jmp 0x536848
test ebx, ebx
js 0x534fa8
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x10]
add edi, 4
add eax, 0xfffffffe
cmp edi, eax
jae 0x534fd9
cmp word [edi], 0x2d
jne 0x534fd9
cmp word [edi + 2], 0x5d
jne 0x53668b
xor edx, edx
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x20], edx
je 0x535039
mov eax, dword [ebx*8 + 0x609050]
mov edx, dword [ebx*8 + 0x609054]
test eax, eax
js 0x53501e
mov ecx, dword [esp + 0x24]
xor ecx, 1
shl eax, 0x10
sub ecx, 0x7fe7fff1
or eax, edx
mov edx, dword [esp + 0x20]
mov dword [esi], ecx
mov dword [esi + 4], eax
add esi, 8
jmp 0x5352ed
test edx, edx
mov edx, dword [esp + 0x20]
je 0x535039
mov eax, dword [esp + 0x24]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [esi], eax
jmp 0x5352ea
mov eax, dword [esp + 0x24]
add eax, 0x801c
shl eax, 0x10
mov dword [esi], eax
mov dword [esi + 4], ebx
add esi, 8
jmp 0x5352ed
cmp ebx, 0x2d
jne 0x535079
cmp edx, 2
jb 0x535138
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov edx, ebp
cmove eax, ecx
mov dword [esi], eax
jmp 0x5352e6
cmp ebx, 0x5c
jne 0x535138
mov ebp, dword [esp + 0xb4]
push ebp
push 1
mov dword [esp + 0x64], edi
mov eax, dword [ebp]
push dword [eax + 0x24]
lea eax, [esp + 0x34]
push dword [esp + 0x38]
push eax
lea eax, [esp + 0x60]
push eax
push ecx
lea eax, [esp + 0xc4]
push eax
call fcn.0052dbc0
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov ebx, eax
test ecx, ecx
je 0x535112
test byte [esp + 0x78], 2
je 0x536649
cmp edi, dword [esp + 0x10]
jb 0x5350d7
mov ebx, 0x5c
jmp 0x535132
cmp dword [esp + 0x44], 0
lea ecx, [edi + 2]
movzx ebx, word [edi]
mov edi, ecx
je 0x535132
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x535132
movzx eax, word [edi]
and ebx, 0x3ff
shl ebx, 0xa
lea edi, [ecx + 2]
and eax, 0x3ff
or ebx, eax
add ebx, 0x10000
jmp 0x535132
cmp ebx, 0x1a
ja case.0x535120.1
mov ebx, eax
movzx eax, byte [eax + 0x536988]
jmp dword [eax*4 + 0x536970]
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x4c]
xor ebp, ebp
mov edx, dword [esp + 0x20]
cmp edx, 1
jne 0x5352e1
cmp ebx, dword [esi - 8]
jne 0x5352ba
sub esi, 4
xor edx, edx
mov dword [esp + 0x20], edx
jmp 0x5352ed
mov edi, dword [esp + 0xa8]
mov ebx, 8
xor ebp, ebp
jmp 0x535134
mov dword [esp + 0x54], 1
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x20]
jmp 0x5352f4
cmp dword [esp + 0x20], 1
je 0x53667a
xor edx, edx
lea ecx, [ebx - 6]
mov dword [esp + 0x20], edx
cmp ecx, 0xf
ja case.0x5351a4.13
movzx eax, byte [ecx + 0x5369b8]
jmp dword [eax*4 + 0x5369a4]
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x5351fc
test dword [esp + 0x2c], 0x20000
jne 0x5351d5
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x5351fc
cmp ebx, 7
je 0x5351e9
cmp ebx, 9
je 0x5351e9
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x5351ee
mov eax, 0x80180010
mov dword [esi], eax
add esi, 4
cmp ecx, 5
ja case.default.0x5351fc
jmp dword [ecx*4 + 0x5369c8]
mov dword [esi], 0x3000d
add esi, 4
jmp case.default.0x5351fc
mov dword [esi], 0x70000
add esi, 4
jmp case.default.0x5351fc
mov dword [esi], 0x90000
add esi, 4
jmp case.default.0x5351fc
push ebp
lea eax, [esp + 0x2c]
mov dword [esp + 0x34], edx
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x68], edx
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.00533610
add esp, 0x18
test eax, eax
je 0x5367ac
cmp dword [esp + 0x9c], 0
je 0x535274
xor eax, eax
cmp ebx, 0xf
sete al
lea ebx, [eax + 0xf]
movzx ecx, word [esp + 0x30]
lea eax, [ebx - 0x7fe80000]
mov edx, dword [esp + 0x20]
mov dword [esi], eax
movzx eax, word [esp + 0x60]
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 0x5352f4
cmp word [edi], 0x2d
jne 0x5352f4
cmp word [edi + 2], 0x5d
jne 0x536692
jmp 0x5352f4
jb 0x53669c
test ebp, ebp
jne 0x5352d4
cmp dword [esi - 4], 0x801f0000
jne 0x5352d4
mov dword [esi - 4], 0x801e0000
mov dword [esi], ebx
add esi, 4
xor edx, edx
mov dword [esp + 0x20], edx
jmp 0x5352ed
lea edx, [ebp + 2]
mov dword [esi], ebx
mov dword [esp + 0x20], edx
add esi, 4
mov ebp, dword [esp + 0xb4]
cmp edi, dword [esp + 0x10]
jae 0x5366a9
movzx ebx, word [edi]
add edi, 2
cmp dword [esp + 0x44], 0
mov ecx, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0xa8], edi
je 0x53534f
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x53534f
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 + 0x4c], ebx
mov ecx, ebx
mov dword [esp + 0xa8], edi
mov eax, dword [esp + 0x54]
cmp ecx, 0x5d
mov ecx, dword [esp + 0x10]
jne 0x534e90
test eax, eax
jne 0x534e90
cmp edx, 1
jne 0x535374
mov dword [esi - 4], 0x2d
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esi], 0x800d0000
add esi, 4
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], esi
jmp 0x5340a0
cmp edi, ecx
jae 0x536843
movzx eax, word [edi]
cmp eax, 0x3f
je 0x5357c6
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0xb4]
cmp eax, 0x2a
je 0x53540b
inc edx
test dword [esp + 0x2c], 0x2000
mov dword [esp + 0x14], edx
jne 0x5353f4
mov ecx, dword [ebp + 0x74]
cmp ecx, 0xffff
jae 0x53678e
inc ecx
mov dword [ebp + 0x74], ecx
or ecx, 0x80080000
mov dword [esi], ecx
add esi, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
jmp 0x534099
mov ecx, 0x801a0000
mov dword [esi], ecx
add esi, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
jmp 0x534099
mov ebx, dword [esp + 0x18]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x5340a0
movzx ecx, word [edi + 2]
mov edx, dword [esp + 0x14]
cmp ecx, 0x29
je 0x534084
cmp ecx, 0xff
ja 0x53563e
mov eax, dword [ebp + 0x10]
test byte [ecx + eax], 4
je 0x53563e
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push ebp
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x38], 0x5a66a0
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.00537d90
add esp, 0x24
test eax, eax
je 0x5367ac
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x40], edi
cmp edi, ebx
jae 0x5366dd
cmp word [edi], 0x3a
jne 0x5366dd
mov esi, dword [esp + 0x30]
xor ebx, ebx
mov edi, dword [esp + 0x34]
xor ebp, ebp
mov dword [esp + 0x3c], ebx
cmp edi, dword [ebx*8 + 0x5a6778]
jne 0x5354d1
push edi
push esi
push dword [esp + 0x58]
call fcn.00538450
add esp, 0xc
test eax, eax
je 0x5354e5
inc esi
add esi, dword [ebx*8 + 0x5a6778]
inc ebx
mov dword [esp + 0x3c], ebx
mov ebp, ebx
cmp ebx, 0x11
jl 0x5354b6
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x40]
cmp ebp, 0x11
jge 0x5366d6
mov edx, dword [ebx*8 + 0x5a677c]
mov ebx, dword [esp + 0x24]
test ebx, ebx
jle 0x535516
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x5366b3
cmp edx, 0x80250000
ja 0x535587
je 0x5355b2
cmp edx, 0x80230000
ja 0x535571
je 0x535e7f
cmp edx, 0x80020000
je case.0x5357f0.62
cmp edx, 0x80220000
jne 0x53557d
mov ecx, dword [esp + 0x14]
add edi, 2
mov ebp, dword [esp + 0xb4]
mov dword [esi], edx
add esi, 4
movzx eax, cx
mov ecx, dword [esp + 0x10]
inc eax
movzx edx, ax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], edx
jmp 0x534099
cmp edx, 0x80240000
je 0x535eb1
mov ecx, 0xbd
jmp 0x536848
cmp edx, 0x80280000
ja 0x5355ba
je 0x5355b2
cmp edx, 0x80260000
je 0x5355b2
cmp edx, 0x80270000
jne 0x53557d
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], edx
jmp 0x535f37
sub edi, 2
jmp 0x535f0a
cmp edx, 0x8fff0000
jne 0x53557d
mov eax, dword [esp + 0x14]
add edi, 2
mov edx, dword [esp + 0x38]
inc eax
mov dword [esi], 0x80220000
mov dword [esi + 4], 0x80020000
add esi, 8
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
test edx, edx
jne 0x5355fa
mov ebp, dword [esp + 0xb4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
jmp 0x535615
add edx, 0xc
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x84]
jae 0x5367d4
mov ebp, dword [esp + 0xb4]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov word [edx], ax
mov eax, 4
mov word [edx + 6], ax
mov eax, dword [esp + 0x2c]
and eax, 0x10424e8
mov dword [edx + 8], eax
mov edx, dword [esp + 0x14]
jmp 0x5340a0
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push ebp
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x84], 0x5a65d8
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.00537d90
add esp, 0x24
test eax, eax
je 0x5367ac
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x40], edi
cmp edi, ebx
jae 0x5367fa
movzx eax, word [edi]
cmp eax, 0x3a
je 0x5356a5
cmp eax, 0x29
jne 0x5367fa
mov edi, dword [esp + 0x7c]
xor ebx, ebx
mov dword [esp + 0x3c], ebx
xor esi, esi
mov ebp, 0x5a6608
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp]
jne 0x5356d1
push eax
push edi
push dword [esp + 0x58]
call fcn.00538450
add esp, 0xc
test eax, eax
je 0x5356e4
inc edi
inc ebx
add edi, dword [ebp]
mov esi, ebx
add ebp, 0xc
mov dword [esp + 0x3c], ebx
cmp ebx, 9
jl 0x5356b6
mov edi, dword [esp + 0x40]
cmp esi, 9
mov esi, dword [esp + 0x1c]
jge 0x5367fa
cmp word [edi], 0x3a
jne 0x53570b
lea eax, [edi + 2]
cmp eax, dword [esp + 0x10]
jae 0x53570b
cmp word [eax], 0x29
cmove edi, eax
lea ecx, [ebx + ebx*2]
mov ebx, dword [ecx*4 + 0x5a6610]
test ebx, ebx
jle 0x535723
cmp word [edi], 0x3a
jne 0x5366e7
mov ecx, dword [ecx*4 + 0x5a660c]
lea edx, [esi + 4]
xor eax, eax
mov dword [esp + 0x7c], esi
cmp ecx, 0x802a0000
sete al
mov dword [esp + 0x20], eax
movzx eax, word [edi]
add edi, 2
cmp eax, 0x3a
jne 0x5357a6
test ebx, ebx
jns 0x53575d
mov dword [esp + 0x80], ecx
mov eax, 0x80290000
jmp 0x53576f
xor eax, eax
mov ebx, 0x10000
cmp ecx, 0x80290000
cmovne eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov dword [esi], eax
lea esi, [edx + 4]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x94], edi
mov dword [esp + 0x70], 1
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov dword [esi], ecx
mov esi, edx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], esi
jmp 0x5340a0
add edi, 2
mov dword [esp + 0xa8], edi
mov edx, edi
cmp edi, ecx
jae 0x536843
movzx ecx, word [edi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x5357f0.34
movzx eax, byte [eax + 0x536a18]
jmp dword [eax*4 + 0x5369e0]
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x536843
movzx eax, word [edi]
cmp eax, 0x3c
jne 0x53581f
mov eax, 0x3e
jmp 0x535f9c
cmp eax, 0x3e
je 0x5358e3
mov ebp, dword [esp + 0xb4]
cmp eax, 0x3d
jne 0x5366f1
push ebp
lea eax, [esp + 0x2c]
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.00537d90
add esp, 0x24
test eax, eax
je 0x5367ac
mov eax, dword [esp + 0x34]
mov dword [esi], 0x80040000
mov dword [esi + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
add esi, 0xc
jmp 0x53480d
mov ecx, dword [esp + 0x10]
xor eax, eax
add edi, 2
mov dword [esp + 0x3c], eax
cmp edi, ecx
jae 0x5366fb
cmp word [edi], 0x29
jne 0x5366fb
mov ebp, dword [esp + 0xb4]
jmp 0x536257
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x5358d5
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x5358d5
cmp eax, 0x39
jbe 0x5361e0
mov ecx, 0x81
jmp 0x536848
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
lea eax, [esp + 0x28]
push ebp
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.00537d90
add esp, 0x24
test eax, eax
je 0x5367ac
mov eax, dword [esp + 0x34]
mov dword [esi], 0x80210000
mov dword [esi + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
add esi, 0xc
jmp 0x53480d
mov ebp, dword [esp + 0x10]
lea edx, [edi + 2]
mov edi, edx
cmp edx, ebp
jae 0x536843
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
dec eax
mov dword [esp + 0x6c], eax
test ecx, ecx
je 0x535974
test byte [esp + 0x2c], 4
je 0x535974
lea eax, [esi - 0x10]
cmp ecx, eax
jne 0x535974
cmp dword [esi - 4], 0xff
cmove esi, ecx
movzx ebx, word [edi]
mov eax, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 1
cmp ebx, 0x29
je 0x535a22
cmp ebx, 0x30
jb 0x5359a0
cmp ebx, 0x39
jbe 0x535a22
mov ecx, dword [0x5a6c3c]
xor eax, eax
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x5359c4
cmp ebx, ecx
je 0x5359ce
mov ecx, dword [eax*4 + 0x5a6c40]
inc eax
mov dword [esp + 0x3c], eax
test ecx, ecx
jne 0x5359b0
mov ecx, 0xb6
jmp 0x536848
mov ecx, dword [eax*4 + 0x5a6c18]
test ecx, ecx
je 0x5359c4
mov dword [esi], 0x80070000
nop
add edi, 2
cmp edi, ebp
jae 0x536705
movzx eax, word [edi]
cmp eax, ecx
jne 0x5359e0
add edi, 2
cmp edi, ebp
jae 0x535a00
movzx eax, word [edi]
cmp eax, ecx
je 0x5359e0
mov eax, edi
mov ecx, edi
sub eax, edx
sar eax, 1
mov dword [esi + 0xc], eax
add esi, 0x10
mov eax, dword [esp + 0xb4]
sub edx, dword [eax + 0x1c]
sar edx, 1
mov dword [esp + 0x48], edx
mov dword [esi], edx
jmp 0x535a61
xor ebx, ebx
mov dword [esi], 0x80060000
add esi, 0xc
nop dword [eax]
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x30
jb 0x535a5f
cmp eax, 0x39
ja 0x535a5f
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 0x536711
mov edx, edi
cmp edi, ebp
jb 0x535a30
mov dword [esi], ebx
cmp ecx, ebp
jae 0x53671b
cmp word [edi], 0x29
jne 0x53671b
mov ebp, dword [esp + 0xb4]
lea edi, [ecx + 2]
mov ebx, dword [esp + 0x18]
mov eax, edi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
sub eax, dword [ebp + 0x1c]
sar eax, 1
add esi, 4
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x536843
movzx eax, word [edi]
inc dword [esp + 0x14]
cmp eax, 0x3f
je 0x535e27
cmp eax, 0x2a
je 0x535e27
mov ebp, dword [esp + 0xb4]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x40]
push eax
push 0xa1
push 0xffff
push dword [ebp + 0x74]
lea eax, [esp + 0xbc]
push ecx
push eax
call fcn.00537fe0
add esp, 0x1c
test eax, eax
je 0x535b3d
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test ecx, ecx
jle 0x536725
mov dword [esi], 0x80120000
mov eax, edi
sub eax, dword [ebp + 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 0x535dfa
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x53666e
mov ecx, dword [esp + 0x10]
mov ebp, ecx
mov ebx, dword [esp + 0xa8]
sub ebp, ebx
sar ebp, 1
cmp ebp, 0xa
jl 0x535c8f
push 7
push str.VERSION
push ebx
call fcn.00538450
add esp, 0xc
test eax, eax
jne 0x535c8b
cmp word [ebx + 0xe], 0x29
lea edi, [ebx + 0xe]
je 0x535c8b
xor ebp, ebp
xor ebx, ebx
cmp word [edi], 0x3e
mov eax, edi
mov dword [esp + 0x30], ebp
jne 0x535ba1
add edi, 2
lea ebp, [ebx + 1]
mov eax, edi
cmp word [edi], 0x3d
jne 0x53672f
lea edi, [eax + 2]
movzx eax, word [edi]
mov dword [esp + 0xa8], edi
cmp eax, 0x30
jb 0x53672f
cmp eax, 0x39
ja 0x53672f
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x34]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
push dword [esp + 0x24]
lea eax, [esp + 0xc0]
push eax
call fcn.00537fe0
add esp, 0x1c
test eax, eax
je 0x5367a5
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x53672f
cmp word [edi], 0x2e
jne 0x535c71
add edi, 2
cmp edi, edx
jae 0x53672f
movzx eax, word [edi]
cmp eax, 0x30
jb 0x53672f
cmp eax, 0x39
ja 0x53672f
sub eax, 0x30
add edi, 2
lea ebx, [eax + eax*4]
add ebx, ebx
cmp edi, edx
jae 0x53672f
movzx eax, word [edi]
cmp eax, 0x30
jb 0x535c67
cmp eax, 0x39
ja 0x535c67
add eax, 0xffffffd0
lea ecx, [edi + 2]
add ebx, eax
mov edi, ecx
cmp ecx, edx
jae 0x53672f
cmp word [edi], 0x29
jne 0x53672f
mov eax, dword [esp + 0x30]
mov dword [esi], 0x80150000
mov dword [esi + 4], ebp
mov dword [esi + 8], eax
add esi, 0xc
mov dword [esi], ebx
jmp 0x535df3
mov ecx, dword [esp + 0x10]
movzx eax, word [ebx]
mov dword [esp + 0x24], 0
cmp eax, 0x52
jne 0x535cbc
cmp ebp, 1
jle 0x535cd7
cmp word [ebx + 2], 0x26
lea eax, [ebx + 2]
jne 0x535cd7
mov ebx, 1
mov dword [esp + 0xa8], eax
jmp 0x535ce5
cmp eax, 0x3c
jne 0x535cca
mov ebx, dword [esp + 0x24]
lea edi, [eax + 2]
jmp 0x535cea
cmp eax, 0x27
jne 0x535cd7
mov ebx, dword [esp + 0x24]
mov edi, eax
jmp 0x535cea
sub ebx, 2
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x24]
mov edi, 0x29
mov ebp, dword [esp + 0xb4]
lea eax, [esp + 0x28]
push ebp
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.00537d90
add esp, 0x24
test eax, eax
je 0x5367ac
mov ebp, dword [esp + 0x34]
test ebx, ebx
je 0x535d41
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80130000
sub edi, 2
jmp 0x535ddc
cmp edi, 0x29
jne 0x535dcf
mov ebx, dword [esp + 0x50]
cmp ebp, 6
jne 0x535d7d
push 6
push str.DEFINE
push ebx
call fcn.00538450
add esp, 0xc
test eax, eax
jne 0x535d7d
mov eax, 0x80100000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x535ddc
mov eax, 1
mov dword [esp + 0x3c], eax
mov ecx, eax
cmp ebp, eax
jle 0x535dad
mov edi, eax
nop
movzx edx, word [ebx + eax*2]
mov ecx, edi
cmp edx, 0x30
jb 0x535dad
cmp edx, 0x39
ja 0x535dad
inc eax
mov dword [esp + 0x3c], eax
mov ecx, eax
mov edi, ecx
cmp eax, ebp
jl 0x535d90
cmp word [ebx], 0x52
jne 0x535dbc
mov eax, 0x80140000
cmp ecx, ebp
jge 0x535dc1
mov eax, 0x80110000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x535ddc
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80110000
mov eax, dword [esi]
add esi, 4
cmp eax, 0x80100000
je 0x535ded
mov dword [esi], ebp
add esi, 4
mov eax, dword [esp + 0x48]
mov dword [esi], eax
mov ebp, dword [esp + 0xb4]
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x536739
cmp word [edi], 0x29
jne 0x536739
mov ebx, dword [esp + 0x18]
add edi, 2
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov ebp, dword [esp + 0xb4]
mov edi, edx
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esi], 0x800f0000
add esi, 4
mov dword [esp + 0x6c], 2
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
inc edx
mov ebp, dword [esp + 0xb4]
mov dword [esi], 0x80020000
add esi, 4
mov dword [esp + 0x1c], esi
add edi, 2
mov dword [esp + 0x14], edx
jmp 0x534099
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80230000
jmp 0x535f37
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80270000
jmp 0x535f37
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80240000
jmp 0x535f37
mov eax, dword [esp + 0x10]
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x535815
movzx eax, word [edi + 2]
cmp eax, 0x3d
je 0x535f01
cmp eax, 0x21
je 0x535eef
cmp eax, 0x2a
jne 0x535815
cmp eax, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x535f06
mov edx, 0x80250000
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
mov dword [esi], edx
mov dword [eax], 1
mov eax, edi
sub eax, dword [ebp + 0x1c]
add edi, 4
sar eax, 1
sub eax, 2
mov dword [esi + 4], eax
add esi, 4
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x14]
add esi, 4
inc edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], edx
test ebx, ebx
jle 0x535f8e
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x535f5c
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
jmp 0x535f70
add edx, 0xc
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x84]
jae 0x5367d4
mov ecx, dword [esp + 0x14]
mov eax, 2
mov word [edx + 6], ax
mov eax, dword [esp + 0x2c]
and eax, 0x10424e8
mov word [edx], cx
mov dword [edx + 8], eax
mov edx, ecx
mov ecx, dword [esp + 0x10]
jmp 0x534099
mov eax, 0x27
mov ebp, dword [esp + 0xb4]
lea ecx, [esp + 0x28]
push ebp
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.00537d90
add esp, 0x24
test eax, eax
je 0x5367ac
mov eax, dword [ebp + 0x74]
cmp eax, 0xffff
jae 0x536787
inc dword [esp + 0x14]
inc eax
mov dword [ebp + 0x74], eax
or eax, 0x80080000
mov dword [esi], eax
add esi, 4
movzx edx, word [ebp + 0x58]
mov eax, 0x2710
mov dword [esp + 0x1c], esi
cmp dx, ax
jae 0x536776
mov ecx, dword [esp + 0x34]
movzx eax, word [ebp + 0x5a]
add ecx, 2
cmp ecx, eax
mov ecx, dword [esp + 0x34]
jbe 0x536029
lea eax, [ecx + 2]
mov word [ebp + 0x5a], ax
mov edi, dword [ebp + 0x64]
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x30], 0
xor ebx, ebx
mov dword [esp + 0x3c], ebp
cmp ax, dx
jae 0x5360ba
movzx eax, word [edi + 8]
cmp ecx, eax
jne 0x536091
push ecx
push dword [edi]
push dword [esp + 0x58]
call fcn.00538410
add esp, 0xc
test eax, eax
jne 0x536091
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x5360ba
test byte [esp + 0x2c], 0x40
je 0x536743
mov eax, 1
mov word [edi + 0xa], ax
mov dword [esp + 0x30], eax
mov dword [ecx + 0xbc], eax
jmp 0x5360a4
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x536754
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 0x536047
mov ebp, dword [esp + 0xb4]
movzx ecx, word [ebp + 0x58]
mov edx, ecx
cmp ebx, edx
jl case.default.0x5349f7
mov eax, dword [ebp + 0x68]
cmp edx, eax
jb 0x53612e
mov ecx, dword [ebp]
lea ebx, [eax + eax]
lea eax, [ebx + ebx*2]
shl eax, 2
push dword [ecx + 8]
push eax
mov eax, dword [ecx]
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x536765
mov eax, dword [ebp + 0x68]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push dword [ebp + 0x64]
push edi
call fcn.0056b850
add esp, 0xc
cmp dword [ebp + 0x68], 0x14
jbe 0x536124
mov eax, dword [ebp]
push dword [eax + 8]
mov eax, dword [eax + 4]
push dword [ebp + 0x64]
call eax
add esp, 8
movzx ecx, word [ebp + 0x58]
mov dword [ebp + 0x64], edi
mov dword [ebp + 0x68], ebx
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x34]
movzx eax, cx
mov ebx, dword [esp + 0x18]
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 0x64]
mov dword [eax + ecx*4], edx
movzx eax, word [ebp + 0x58]
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 0x64]
mov word [eax + ecx*4 + 8], di
movzx eax, word [ebp + 0x58]
mov ecx, dword [ebp + 0x64]
mov edi, dword [esp + 0xa8]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x74]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [ebp + 0x58]
mov edx, dword [esp + 0x30]
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 0x64]
mov word [eax + ecx*4 + 0xa], dx
inc word [ebp + 0x58]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x5340a0
cmp ecx, 0x2d
jne 0x5361b4
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x5361b4
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x5361b4
cmp eax, 0x39
jbe 0x5361e0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
inc eax
mov dword [esp + 0x14], eax
test edx, edx
jne 0x53628b
mov ebp, dword [esp + 0xb4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
jmp 0x5362a6
mov edx, dword [esp + 0x10]
cmp ecx, 0x30
jb 0x5361f6
cmp ecx, 0x39
ja 0x5361f6
mov ebp, dword [esp + 0xb4]
or eax, 0xffffffff
jmp 0x536200
mov ebp, dword [esp + 0xb4]
mov eax, dword [ebp + 0x74]
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x40]
push ecx
push 0xa1
push 0xffff
push eax
push edx
lea eax, [esp + 0xc0]
push eax
call fcn.00537fe0
add esp, 0x1c
test eax, eax
je 0x5367ac
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test eax, eax
js 0x536798
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x536843
cmp word [edi], 0x29
jne 0x536843
mov ebx, dword [esp + 0x18]
or eax, 0x80200000
mov edx, dword [esp + 0x14]
mov dword [esi], eax
mov eax, edi
sub eax, dword [ebp + 0x1c]
add edi, 2
sar eax, 1
mov dword [esi + 4], eax
add esi, 8
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], esi
jmp 0x5340a0
add edx, 0xc
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x84]
jae 0x5367d4
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x2c]
mov word [edx], ax
xor eax, eax
mov word [edx + 6], ax
mov eax, ebx
and eax, 0x10424e8
mov dword [edx + 8], eax
cmp word [edi], 0x7c
jne 0x536304
movzx eax, word [ebp + 0x74]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov word [edx + 2], ax
movzx eax, word [ebp + 0x74]
mov word [edx + 4], ax
mov eax, 1
mov word [edx + 6], ax
or dword [ebp + 0x70], 0x200000
mov edx, dword [esp + 0x14]
mov dword [esi], 0x801a0000
add esi, 4
add edi, 2
mov dword [esp + 0x1c], esi
jmp 0x5340a0
xor eax, eax
mov dword [esp + 0x40], ebx
mov dword [edx + 2], eax
lea ebx, [esp + 0x30]
xor edx, edx
mov dword [esp + 0x24], 1
xor ebp, ebp
mov dword [esp + 0x60], edx
cmp word [edi], 0x5e
mov ecx, edi
mov dword [esp + 0x30], ebp
jne 0x53633e
and dword [esp + 0x2c], 0xfeffdb57
add edi, 2
mov dword [esp + 0x24], eax
mov ecx, edi
cmp ecx, dword [esp + 0x10]
jae 0x536415
mov edx, ecx
nop word [eax + eax]
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x29
je 0x53640d
cmp eax, 0x3a
je 0x53640d
sub eax, 0x2d
lea edi, [edx + 2]
cmp eax, 0x4b
ja case.0x53637d.46
movzx eax, byte [eax + 0x536a70]
jmp dword [eax*4 + 0x536a4c]
cmp dword [esp + 0x24], ebp
je 0x5367bc
lea ebx, [esp + 0x60]
mov dword [esp + 0x24], ebp
mov ecx, edi
jmp 0x536401
mov eax, dword [esp + 0xb4]
mov ecx, edi
or dword [ebx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x536401
or dword [ebx], 8
mov ecx, edi
jmp 0x536401
or dword [ebx], 0x400
mov ecx, edi
jmp 0x536401
or dword [ebx], 0x2000
mov ecx, edi
jmp 0x536401
or dword [ebx], 0x20
mov ecx, edi
jmp 0x536401
or dword [ebx], 0x40000
mov ecx, edi
jmp 0x536401
mov eax, dword [ebx]
mov ecx, edi
or eax, 0x80
mov dword [ebx], eax
cmp edi, dword [esp + 0x10]
jae 0x536401
cmp word [edi], 0x78
jne 0x536401
or eax, 0x1000000
lea ecx, [edi + 2]
mov dword [ebx], eax
mov edi, ecx
mov edx, ecx
cmp edi, dword [esp + 0x10]
jb 0x536350
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x60]
mov eax, ebp
and eax, 0x1000080
cmp eax, 0x80
je 0x536427
test dl, dl
jns 0x53642d
or edx, 0x1000000
or ebp, dword [esp + 0x2c]
not edx
and ebp, edx
mov ebx, ebp
mov dword [esp + 0x2c], ebx
cmp ecx, dword [esp + 0x10]
jae 0x536843
mov ax, word [edi]
lea edi, [ecx + 2]
mov ebp, dword [esp + 0xb4]
cmp ax, 0x29
jne 0x536483
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x38]
movzx ecx, ax
mov dword [esp + 0x14], ecx
cmp edx, dword [ebp + 0x14]
jbe 0x53647e
cmp word [edx - 0xc], cx
lea eax, [edx - 0xc]
jne 0x53647e
mov dword [esp + 0x38], eax
jmp 0x536490
mov word [edx], cx
jmp 0x536490
mov dword [esi], 0x801a0000
add esi, 4
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x40]
je 0x534099
mov dword [esi], 0x801b0000
mov dword [esi + 4], ebx
add esi, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0xb4]
test edx, edx
je 0x5364ef
mov ecx, dword [esp + 0x14]
cmp word [edx], cx
jne 0x5364ef
test byte [edx + 6], 1
je 0x5364ef
movzx eax, word [edx + 4]
mov ecx, dword [ebp + 0x74]
cmp ecx, eax
jbe 0x5364e8
mov word [edx + 4], cx
movzx eax, word [edx + 2]
mov dword [ebp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esi], 0x80010000
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x5340a0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], 1
test edx, edx
je 0x53659f
mov ecx, dword [esp + 0x14]
cmp word [edx], cx
jne 0x53659f
mov ebx, dword [esp + 0x2c]
movzx ecx, word [edx + 6]
and ebx, 0xfefbdb17
or ebx, dword [edx + 8]
mov eax, ecx
mov ebp, dword [esp + 0xb4]
mov dword [esp + 0x2c], ebx
test cl, 1
je 0x53656b
movzx edx, word [edx + 4]
cmp edx, dword [ebp + 0x74]
jbe 0x536567
mov dword [ebp + 0x74], edx
mov edx, dword [esp + 0x38]
movzx eax, word [edx + 6]
jmp 0x53656b
mov edx, dword [esp + 0x38]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, 1
mov dword [esp + 0x20], ecx
test al, 4
je 0x536585
mov dword [esi], 0x80190000
add esi, 4
cmp edx, dword [ebp + 0x14]
jne 0x536592
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x5365a6
sub edx, 0xc
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], edx
jmp 0x5365a6
mov ebp, dword [esp + 0xb4]
mov edx, dword [esp + 0x14]
test dx, dx
je 0x5367de
mov ecx, dword [esp + 0x10]
add edx, 0xffff
mov dword [esi], 0x80190000
add esi, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], esi
jmp 0x534099
mov dword [esi], ebx
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], 1
jmp 0x53408e
mov ecx, 0x8c
jmp 0x53684f
mov edi, dword [esp + 0x40]
mov ecx, 0xb0
add edi, 0xfffffffe
jmp 0x53684f
mov ecx, 0x76
jmp 0x536848
mov ecx, 0x6d
sub edi, 2
jmp 0x536848
movzx eax, word [edi]
xor ecx, ecx
mov edi, dword [esp + 0x40]
add edi, 0xfffffffe
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x536848
mov ecx, 0x71
sub edi, 2
jmp 0x536848
mov ebp, dword [esp + 0xb4]
mov edi, dword [esp + 0xa8]
jmp 0x53684f
mov edi, dword [esp + 0xa8]
mov ecx, 0x6b
sub edi, 2
jmp 0x53684f
mov ecx, 0xab
mov edi, dword [esp + 0xa8]
jmp 0x53684f
mov edi, dword [esp + 0xa8]
mov ecx, 0x96
jmp 0x53684f
mov ebp, dword [esp + 0xb4]
mov ecx, 0x96
jmp 0x53684f
mov ecx, 0x6c
sub edi, 2
jmp 0x536848
mov ecx, 0x6a
jmp 0x53684f
cmp edx, 0x80270000
je 0x5366cc
mov ecx, 0x80
cmp edx, 0x80280000
jne 0x536848
mov ecx, 0xc6
jmp 0x536848
mov ebp, dword [esp + 0xb4]
mov ecx, 0xc3
jmp 0x53684f
mov ecx, 0xa6
jmp 0x536848
mov ecx, 0x8d
jmp 0x53684f
mov ecx, 0x9e
jmp 0x536848
mov ecx, 0xb5
mov edi, edx
jmp 0x536848
mov ecx, 0x8a
jmp 0x536848
mov ecx, 0x8b
jmp 0x536848
mov ecx, 0x73
jmp 0x53684f
mov ecx, 0xb3
jmp 0x536848
mov ecx, 0x7c
jmp 0x53684f
mov edi, dword [esp + 0xa8]
mov ecx, 0x8f
jmp 0x536848
mov edi, dword [esp + 0xa8]
mov ecx, 0xa5
jmp 0x536848
mov edi, dword [esp + 0xa8]
mov ecx, 0x79
jmp 0x53684f
mov edi, dword [esp + 0xa8]
mov ecx, 0x95
jmp 0x53684f
mov edi, dword [esp + 0xa8]
mov ecx, 0xc5
jmp 0x53684f
mov ecx, 0x73
sub edi, 2
jmp 0x536848
mov ebp, dword [esp + 0xb4]
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x28]
jmp 0x53684f
mov ecx, 0xc2
mov edi, edx
jmp 0x536848
mov ecx, 0x6f
mov edi, edx
jmp 0x536848
mov ecx, 0xb8
jmp 0x536848
mov ecx, 0x7a
sub edi, 2
jmp 0x536848
mov ecx, 0x77
jmp 0x53684f
cmp dword [esp + 0x70], 0
je 0x533fbc
mov ecx, 0xa0
jmp 0x536848
test byte [esp + 0x78], 4
je 0x536818
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [esp + 0x8c]
jb 0x536828
mov ecx, 0xa3
jmp 0x536848
cmp word [esp + 0x14], 0
mov dword [ecx], SysReAllocString
jne 0x536843
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x94
ret
mov ecx, 0x72
mov ebp, dword [esp + 0xb4]
sub edi, dword [ebp + 0x1c]
mov eax, ecx
sar edi, 1
mov dword [ebp + 0x54], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret