Function at 0x5327a0
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 0x532857
mov dword [esi], 0x80090000
jmp 0x532862
test cl, 4
je 0x532870
mov dword [esi], 0x80180005
mov dword [esi + 4], 0x801a0000
add esi, 8
mov dword [esp + 0x1c], esi
test edi, 0x2000000
je 0x5329d4
mov edi, dword [esp + 0xa8]
cmp edi, ebp
jae 0x532963
nop dword [eax + eax]
cmp esi, dword [esp + 0x8c]
jae 0x5351c1
movzx ecx, word [edi]
mov edx, edi
lea edi, [edx + 2]
test eax, eax
je 0x5328d3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5328d3
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 0x532947
cmp dword [esp + 0x18], 0
mov ebx, esi
je 0x532913
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 0x532913
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xc], 0xff
je 0x53292e
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 0x532890
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0xb4]
mov ecx, esi
test ebx, ebx
je 0x532976
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 0x5329b4
test ebx, ebx
je 0x532991
lea eax, [esi - 0x10]
cmp ebx, eax
jne 0x532991
cmp dword [ebx + 0xc], 0xff
je 0x5329aa
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 0x5351a1
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x5351b5
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 0x532a40
mov ecx, dword [esp + 0x10]
jmp 0x532a40
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 0x53518f
mov dword [esp + 0x60], 0
mov dword [esp + 0x30], 0
cmp esi, dword [esp + 0x8c]
jae 0x5351c1
mov ecx, dword [ebp]
movzx eax, dx
cmp eax, dword [ecx + 0x20]
ja 0x535188
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 0x532aeb
mov eax, ebx
mov dword [esp + 0x40], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x532ae7
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 0x532aeb
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], 0
je 0x532b8f
cmp ebp, 0x5c
jne 0x532b19
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jae 0x532b19
cmp word [edi], 0x45
jne 0x532b19
mov dword [esp + 0x54], 0
lea edi, [eax + 2]
jmp 0x532a2e
cmp dword [esp + 0x6c], 0
jg case.0x532fed.34
cmp dword [esp + 0x70], 0
jne 0x532b66
mov ecx, dword [esp + 0x68]
mov eax, ecx
dec ecx
mov dword [esp + 0x68], ecx
test eax, eax
jg 0x532b5e
push dword [esp + 0xb4]
lea eax, [esp + 0x68]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.00532720
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 0x532a40
cmp dword [esp + 0x70], 0
je 0x532d06
mov eax, dword [esp + 0x2c]
and eax, 0x400080
cmp eax, 0x400080
jne 0x532bfa
cmp ebp, 0xff
jbe 0x532bc5
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x532bc5
cmp eax, 0x2029
jne 0x532b6e
cmp ebp, 0x100
jae 0x532d06
cmp ebp, 0x23
je 0x532d36
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x532d06
cmp ebp, 0x85
je 0x532d36
cmp ebp, 0x29
je 0x532c9b
cmp ebp, 0x5c
jne 0x532b6e
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xb4]
test edx, 0x400000
je 0x532c89
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.0052c560
mov ecx, dword [esp + 0x48]
add esp, 0x20
test ecx, ecx
jne 0x534fe9
sub eax, ecx
je 0x532c7e
sub eax, 0x19
je case.default.0x533397
mov edi, dword [esp + 0xa8]
sub eax, 1
jne 0x534f89
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], 1
jmp 0x532a35
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 0x532a35
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 0x534f93
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 0x532a40
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x80], 0
jmp 0x532a35
cmp ebp, 0x5c
jne 0x532d36
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x10]
jae 0x532d36
movzx eax, word [edi]
cmp eax, 0x51
je 0x532d22
cmp eax, 0x45
jne 0x532d36
xor edx, edx
lea edi, [ecx + 2]
cmp eax, 0x51
sete dl
mov dword [esp + 0x54], edx
jmp 0x532a2a
test byte [esp + 0x2c], 0x80
je 0x532e5d
cmp ebp, 0x100
jae 0x532d5d
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x532a2a
cmp ebp, 0x85
je 0x532a2a
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x532a2a
cmp eax, 0x2029
je 0x532a2a
cmp ebp, 0x23
jne 0x532e5d
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp edi, ecx
jae 0x532a40
nop dword [eax + eax]
mov eax, dword [ebp + 0x90]
mov ecx, dword [ebp + 0x20]
test eax, eax
je 0x532de9
cmp edi, ecx
jae 0x532e16
push dword [esp + 0x44]
lea ebx, [ebp + 0x94]
push ebx
push ecx
push eax
push edi
call fcn.005373d0
add esp, 0x14
test eax, eax
je 0x532e16
mov edx, dword [ebx]
mov ecx, dword [esp + 0x10]
lea edi, [edi + edx*2]
jmp 0x532a35
mov edx, dword [ebp + 0x94]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x532e16
mov ax, word [edi]
cmp ax, word [ebp + 0xa0]
jne 0x532e16
cmp edx, 1
je 0x532ddd
mov ax, word [edi + 2]
cmp ax, word [ebp + 0xa2]
je 0x532ddd
mov ecx, dword [esp + 0x10]
add edi, 2
cmp dword [esp + 0x44], 0
mov eax, edi
je 0x532e48
cmp edi, ecx
jae 0x532e48
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x532db0
add edi, 2
mov eax, edi
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp eax, ecx
jb 0x532db0
jmp 0x532a40
cmp ebp, 0x28
jne 0x532ea1
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x532edb
cmp word [edi], 0x3f
jne 0x532edb
cmp word [edi + 2], 0x23
jne 0x532edb
nop
add edi, 2
cmp edi, ecx
jae 0x534fa4
cmp word [edi], 0x29
jne 0x532e80
cmp edi, ecx
jae 0x534fa4
add edi, 2
jmp 0x532a2e
cmp ebp, 0x2a
je 0x532f12
cmp ebp, 0x2b
je 0x532f12
cmp ebp, 0x3f
je 0x532f12
cmp ebp, 0x7b
jne 0x532edb
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.00536ac0
add esp, 0x14
test eax, eax
jne 0x532f12
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x68]
mov eax, ecx
dec ecx
mov dword [esp + 0x68], ecx
test eax, eax
jg 0x532f12
push dword [esp + 0xb4]
lea eax, [esp + 0x68]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.00532720
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 0x532f74
cmp ebp, 0x28
jne case.0x532fed.34
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x532fed.34
movzx eax, word [edi]
cmp eax, 0x3f
je 0x532fda
cmp eax, 0x2a
jne case.0x532fed.34
movzx eax, word [edi + 2]
mov ecx, 0xff
mov ebp, dword [esp + 0xb4]
cmp ax, cx
ja 0x533011
mov ecx, eax
mov eax, dword [ebp + 0x10]
test byte [ecx + eax], 4
je 0x533011
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 0x53302c
cmp ebx, 0x3f
je 0x532fae
cmp ebx, 0x2b
jne 0x53302c
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 0x532a2a
movzx eax, word [edi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x532fed.34
movzx eax, byte [eax + 0x535214]
jmp dword [eax*4 + 0x535204]
movzx eax, word [edi + 4]
cmp eax, 0x3d
je case.0x532fed.33
cmp eax, 0x21
je case.0x532fed.33
mov ebp, dword [esp + 0xb4]
mov edi, dword [esp + 0x40]
mov ecx, 0x80
add edi, 0xfffffffe
jmp 0x5351ef
cmp edx, 2
jne case.0x532fed.34
jmp case.0x532fed.33
lea eax, [ebx - 0x24]
cmp eax, 0x58
ja case.0x53303f.37
movzx eax, byte [eax + 0x53526c]
jmp dword [eax*4 + 0x535238]
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.0052c560
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov ebx, eax
test ecx, ecx
jne 0x5330ba
test ebx, ebx
je 0x533401
js 0x5333bf
lea eax, [ebx - 6]
cmp eax, 0x16
ja case.0x5330a0.13
movzx eax, byte [eax + 0x5352e0]
jmp dword [eax*4 + 0x5352c8]
test dword [esp + 0x2c], 0x100000
je case.0x5330a0.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 0x5351e8
mov eax, dword [esp + 0x5c]
mov edi, eax
cmp eax, edx
jb 0x533411
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 0x532a40
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 0x532a40
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.00531fb0
add esp, 0x18
test eax, eax
je 0x533331
cmp dword [esp + 0x98], 0
je 0x533190
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 0x532a40
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x53333a
movzx eax, word [edi]
cmp eax, 0x7b
je 0x533205
cmp eax, 0x3c
je 0x533285
cmp eax, 0x27
jne 0x53333a
cmp eax, 0x27
mov ebp, 0x7d
mov eax, 0x27
cmove ebp, eax
cmp ebx, 0x1b
jne 0x5332aa
cmp ebp, 0x7d
je 0x5332aa
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.00536980
add esp, 0x1c
test eax, eax
je 0x53329a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
cmp ecx, edx
jae 0x53328c
movzx eax, word [ecx]
cmp eax, ebp
jne 0x53328c
mov eax, dword [esp + 0x3c]
mov edi, ecx
mov ebp, dword [esp + 0xb4]
mov ecx, edx
jmp 0x534bf7
mov ebp, 0x3e
jmp 0x533215
mov ecx, 0x9d
mov dword [esp + 0x28], ecx
jmp 0x5330c5
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x5330c1
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.00536730
add esp, 0x24
test eax, eax
je 0x533331
cmp ebx, 0x1c
je 0x5332ee
mov eax, 0x80210000
cmp ebp, 0x7d
jne 0x5332f3
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 0x532a40
mov ecx, dword [esp + 0x28]
jmp 0x5330ba
cmp ebx, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x5330c5
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x20], 1
je case.0x5330a0.13
cmp ebx, 7
je 0x53337d
cmp ebx, 9
je 0x53337d
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x533382
mov eax, 0x80180010
mov dword [esi], eax
add ebx, 0xfffffffa
add esi, 4
mov dword [esp + 0x1c], esi
cmp ebx, 5
ja case.default.0x533397
jmp dword [ebx*4 + 0x5352f8]
mov dword [esi], 0x3000d
jmp 0x53311c
mov dword [esi], 0x70000
jmp 0x53311c
mov dword [esi], 0x90000
jmp 0x53311c
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 0x5330ea
cmp dword [ebp + ebx*4 + 0x2c], 0xffffffff
jne 0x5330f3
mov dword [ebp + ebx*4 + 0x2c], ecx
jmp 0x5330f3
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x4c]
jmp 0x5330ea
cmp dword [esp + 0x44], 0
lea edi, [eax + 2]
movzx ecx, word [eax]
je 0x5330e3
mov ebp, dword [esp + 0xb4]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5330ea
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
jmp 0x5330ea
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 0x532a40
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 0x532a40
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 0x532a40
mov dword [esp + 0x58], 0x80340000
jmp 0x533538
mov dword [esp + 0x58], 0x80370000
jmp 0x533538
mov dword [esp + 0x58], 0x803a0000
jmp 0x533538
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.00536ac0
add esp, 0x14
test eax, eax
jne 0x533529
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x534fe2
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x20], 1
jmp 0x532b6e
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x58], 0x803d0000
test ebp, ebp
je 0x534fae
cmp dword [esi - 4], 0x802a0000
lea ecx, [esi - 4]
jne 0x533570
mov edx, dword [esp + 0x7c]
cmp ecx, edx
jb 0x533560
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x533554
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 0x532a40
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 0x532a40
mov eax, ecx
mov dword [esp + 0x20], 1
sub eax, edi
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x5336a2
push 6
push 0x5a4a60
push edi
call fcn.00536df0
add esp, 0xc
test eax, eax
je 0x5335f6
push 6
push str._:_:__
push edi
call fcn.00536df0
add esp, 0xc
test eax, eax
jne 0x53369e
mov dword [esi], 0x80180005
lea eax, [esi + 8]
cmp word [edi + 4], 0x3c
jne 0x53360f
mov dword [esi + 4], 0x80230000
jmp 0x53362c
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 0x533667
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 0x532a40
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 0x532a40
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x5336d3
movzx eax, word [edi]
cmp eax, 0x3a
je 0x5336b8
cmp eax, 0x2e
je 0x5336b8
cmp eax, 0x3d
jne 0x5336d3
lea eax, [esp + 0x5c]
push eax
push ecx
push edi
call fcn.0052d710
add esp, 0xc
test eax, eax
jne 0x534fbb
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x24], edx
cmp edi, ecx
jae 0x5337d6
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 0x533737
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x533737
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 0x533794
mov ecx, dword [esp + 0x10]
cmp ebp, ecx
jae 0x53375b
cmp word [edi], 0x45
jne 0x53375b
mov eax, 2
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x5337c4
mov eax, ecx
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 6
jl 0x5337d2
push 3
push 0x5a4a70
push edi
call fcn.00536df0
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5337d2
mov eax, 6
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x5337c4
test dword [esp + 0x2c], 0x1000000
je 0x5337a8
cmp ecx, 0x20
je 0x5337c0
cmp ecx, 9
je 0x5337c0
test edx, edx
jne 0x5337ce
cmp ecx, 0x5e
mov ecx, dword [esp + 0x10]
jne 0x5337d2
mov edx, 1
mov dword [esp + 0x24], edx
jmp 0x5337c4
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jb 0x5336e5
jmp 0x5337d2
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
cmp ebx, 0x5d
jne 0x53380d
mov ebp, dword [esp + 0xb4]
test byte [ebp + 0x6c], 1
je 0x53380d
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 0x532a40
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 0x533864
cmp ebx, 0x5c
jne 0x533ad8
cmp edi, ecx
jae 0x533ad8
cmp word [edi], 0x45
jne 0x533ad8
mov dword [esp + 0x54], 0
add edi, 2
jmp 0x533c8d
test dword [esp + 0x2c], 0x1000000
je 0x533880
cmp ebx, 0x20
je 0x533c8d
cmp ebx, 9
je 0x533c8d
cmp ebx, 0x5b
jne 0x5339f2
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl 0x533ad8
movzx eax, word [edi]
cmp eax, 0x3a
je 0x5338af
cmp eax, 0x2e
je 0x5338af
cmp eax, 0x3d
jne 0x533ad8
lea eax, [esp + 0x5c]
push eax
push ecx
push edi
call fcn.0052d710
add esp, 0xc
test eax, eax
je 0x533ad4
mov dword [esp + 0x24], 0
cmp dword [esp + 0x20], ebp
je 0x53502b
cmp word [edi], 0x3a
jne 0x534fd5
add edi, 2
mov edx, edi
cmp word [edi], 0x5e
jne 0x5338f6
add edi, 2
mov dword [esp + 0x24], ebp
mov edx, edi
mov ebp, dword [esp + 0x5c]
mov ecx, 0x5a47a0
sub ebp, edx
mov dword [esp + 0x30], ecx
sar ebp, 1
xor ebx, ebx
nop dword [eax]
movzx eax, byte [ebx + 0x5a47f4]
cmp ebp, eax
jne 0x533930
push ebp
push ecx
push edx
call fcn.00536df0
add esp, 0xc
test eax, eax
je 0x533952
mov ecx, dword [esp + 0x30]
mov edx, edi
movzx eax, byte [ebx + 0x5a47f4]
inc ecx
inc ebx
add ecx, eax
mov dword [esp + 0x30], ecx
cmp byte [ebx + 0x5a47f4], 0
jne 0x533910
mov ecx, 0x82
jmp 0x5351e8
test ebx, ebx
js 0x533948
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x10]
add edi, 4
add eax, 0xfffffffe
cmp edi, eax
jae 0x533979
cmp word [edi], 0x2d
jne 0x533979
cmp word [edi + 2], 0x5d
jne 0x53502b
xor edx, edx
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x20], edx
je 0x5339d9
mov eax, dword [ebx*8 + 0x607050]
mov edx, dword [ebx*8 + 0x607054]
test eax, eax
js 0x5339be
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 0x533c8d
test edx, edx
mov edx, dword [esp + 0x20]
je 0x5339d9
mov eax, dword [esp + 0x24]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [esi], eax
jmp 0x533c8a
mov eax, dword [esp + 0x24]
add eax, 0x801c
shl eax, 0x10
mov dword [esi], eax
mov dword [esi + 4], ebx
add esi, 8
jmp 0x533c8d
cmp ebx, 0x2d
jne 0x533a19
cmp edx, 2
jb 0x533ad8
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov edx, ebp
cmove eax, ecx
mov dword [esi], eax
jmp 0x533c86
cmp ebx, 0x5c
jne 0x533ad8
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.0052c560
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov ebx, eax
test ecx, ecx
je 0x533ab2
test byte [esp + 0x78], 2
je 0x534fe9
cmp edi, dword [esp + 0x10]
jb 0x533a77
mov ebx, 0x5c
jmp 0x533ad2
cmp dword [esp + 0x44], 0
lea ecx, [edi + 2]
movzx ebx, word [edi]
mov edi, ecx
je 0x533ad2
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x533ad2
movzx eax, word [edi]
and ebx, 0x3ff
shl ebx, 0xa
lea edi, [ecx + 2]
and eax, 0x3ff
or ebx, eax
add ebx, 0x10000
jmp 0x533ad2
cmp ebx, 0x1a
ja case.0x533ac0.1
mov ebx, eax
movzx eax, byte [eax + 0x535328]
jmp dword [eax*4 + 0x535310]
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x4c]
xor ebp, ebp
mov edx, dword [esp + 0x20]
cmp edx, 1
jne 0x533c81
cmp ebx, dword [esi - 8]
jne 0x533c5a
sub esi, 4
xor edx, edx
mov dword [esp + 0x20], edx
jmp 0x533c8d
mov edi, dword [esp + 0xa8]
mov ebx, 8
xor ebp, ebp
jmp 0x533ad4
mov dword [esp + 0x54], 1
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x20]
jmp 0x533c94
cmp dword [esp + 0x20], 1
je 0x53501a
xor edx, edx
lea ecx, [ebx - 6]
mov dword [esp + 0x20], edx
cmp ecx, 0xf
ja case.0x533b44.13
movzx eax, byte [ecx + 0x535358]
jmp dword [eax*4 + 0x535344]
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x533b9c
test dword [esp + 0x2c], 0x20000
jne 0x533b75
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x533b9c
cmp ebx, 7
je 0x533b89
cmp ebx, 9
je 0x533b89
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x533b8e
mov eax, 0x80180010
mov dword [esi], eax
add esi, 4
cmp ecx, 5
ja case.default.0x533b9c
jmp dword [ecx*4 + 0x535368]
mov dword [esi], 0x3000d
add esi, 4
jmp case.default.0x533b9c
mov dword [esi], 0x70000
add esi, 4
jmp case.default.0x533b9c
mov dword [esi], 0x90000
add esi, 4
jmp case.default.0x533b9c
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.00531fb0
add esp, 0x18
test eax, eax
je 0x53514c
cmp dword [esp + 0x9c], 0
je 0x533c14
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 0x533c94
cmp word [edi], 0x2d
jne 0x533c94
cmp word [edi + 2], 0x5d
jne 0x535032
jmp 0x533c94
jb 0x53503c
test ebp, ebp
jne 0x533c74
cmp dword [esi - 4], 0x801f0000
jne 0x533c74
mov dword [esi - 4], 0x801e0000
mov dword [esi], ebx
add esi, 4
xor edx, edx
mov dword [esp + 0x20], edx
jmp 0x533c8d
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 0x535049
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 0x533cef
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x533cef
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 0x533830
test eax, eax
jne 0x533830
cmp edx, 1
jne 0x533d14
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 0x532a40
cmp edi, ecx
jae 0x5351e3
movzx eax, word [edi]
cmp eax, 0x3f
je 0x534166
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0xb4]
cmp eax, 0x2a
je 0x533dab
inc edx
test dword [esp + 0x2c], 0x2000
mov dword [esp + 0x14], edx
jne 0x533d94
mov ecx, dword [ebp + 0x74]
cmp ecx, 0xffff
jae 0x53512e
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 0x532a39
mov ecx, 0x801a0000
mov dword [esi], ecx
add esi, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
jmp 0x532a39
mov ebx, dword [esp + 0x18]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x532a40
movzx ecx, word [edi + 2]
mov edx, dword [esp + 0x14]
cmp ecx, 0x29
je 0x532a24
cmp ecx, 0xff
ja 0x533fde
mov eax, dword [ebp + 0x10]
test byte [ecx + eax], 4
je 0x533fde
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push ebp
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x38], 0x5a4640
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.00536730
add esp, 0x24
test eax, eax
je 0x53514c
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x40], edi
cmp edi, ebx
jae 0x53507d
cmp word [edi], 0x3a
jne 0x53507d
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 + 0x5a4718]
jne 0x533e71
push edi
push esi
push dword [esp + 0x58]
call fcn.00536df0
add esp, 0xc
test eax, eax
je 0x533e85
inc esi
add esi, dword [ebx*8 + 0x5a4718]
inc ebx
mov dword [esp + 0x3c], ebx
mov ebp, ebx
cmp ebx, 0x11
jl 0x533e56
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x40]
cmp ebp, 0x11
jge 0x535076
mov edx, dword [ebx*8 + 0x5a471c]
mov ebx, dword [esp + 0x24]
test ebx, ebx
jle 0x533eb6
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x535053
cmp edx, 0x80250000
ja 0x533f27
je 0x533f52
cmp edx, 0x80230000
ja 0x533f11
je 0x53481f
cmp edx, 0x80020000
je case.0x534190.62
cmp edx, 0x80220000
jne 0x533f1d
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 0x532a39
cmp edx, 0x80240000
je 0x534851
mov ecx, 0xbd
jmp 0x5351e8
cmp edx, 0x80280000
ja 0x533f5a
je 0x533f52
cmp edx, 0x80260000
je 0x533f52
cmp edx, 0x80270000
jne 0x533f1d
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], edx
jmp 0x5348d7
sub edi, 2
jmp 0x5348aa
cmp edx, 0x8fff0000
jne 0x533f1d
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 0x533f9a
mov ebp, dword [esp + 0xb4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
jmp 0x533fb5
add edx, 0xc
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x84]
jae 0x535174
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 0x532a40
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push ebp
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x84], 0x5a4578
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.00536730
add esp, 0x24
test eax, eax
je 0x53514c
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x40], edi
cmp edi, ebx
jae 0x53519a
movzx eax, word [edi]
cmp eax, 0x3a
je 0x534045
cmp eax, 0x29
jne 0x53519a
mov edi, dword [esp + 0x7c]
xor ebx, ebx
mov dword [esp + 0x3c], ebx
xor esi, esi
mov ebp, 0x5a45a8
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp]
jne 0x534071
push eax
push edi
push dword [esp + 0x58]
call fcn.00536df0
add esp, 0xc
test eax, eax
je 0x534084
inc edi
inc ebx
add edi, dword [ebp]
mov esi, ebx
add ebp, 0xc
mov dword [esp + 0x3c], ebx
cmp ebx, 9
jl 0x534056
mov edi, dword [esp + 0x40]
cmp esi, 9
mov esi, dword [esp + 0x1c]
jge 0x53519a
cmp word [edi], 0x3a
jne 0x5340ab
lea eax, [edi + 2]
cmp eax, dword [esp + 0x10]
jae 0x5340ab
cmp word [eax], 0x29
cmove edi, eax
lea ecx, [ebx + ebx*2]
mov ebx, dword [ecx*4 + 0x5a45b0]
test ebx, ebx
jle 0x5340c3
cmp word [edi], 0x3a
jne 0x535087
mov ecx, dword [ecx*4 + 0x5a45ac]
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 0x534146
test ebx, ebx
jns 0x5340fd
mov dword [esp + 0x80], ecx
mov eax, 0x80290000
jmp 0x53410f
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 0x532a40
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 0x532a40
add edi, 2
mov dword [esp + 0xa8], edi
mov edx, edi
cmp edi, ecx
jae 0x5351e3
movzx ecx, word [edi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x534190.34
movzx eax, byte [eax + 0x5353b8]
jmp dword [eax*4 + 0x535380]
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x5351e3
movzx eax, word [edi]
cmp eax, 0x3c
jne 0x5341bf
mov eax, 0x3e
jmp 0x53493c
cmp eax, 0x3e
je 0x534283
mov ebp, dword [esp + 0xb4]
cmp eax, 0x3d
jne 0x535091
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.00536730
add esp, 0x24
test eax, eax
je 0x53514c
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 0x5331ad
mov ecx, dword [esp + 0x10]
xor eax, eax
add edi, 2
mov dword [esp + 0x3c], eax
cmp edi, ecx
jae 0x53509b
cmp word [edi], 0x29
jne 0x53509b
mov ebp, dword [esp + 0xb4]
jmp 0x534bf7
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x534275
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x534275
cmp eax, 0x39
jbe 0x534b80
mov ecx, 0x81
jmp 0x5351e8
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.00536730
add esp, 0x24
test eax, eax
je 0x53514c
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 0x5331ad
mov ebp, dword [esp + 0x10]
lea edx, [edi + 2]
mov edi, edx
cmp edx, ebp
jae 0x5351e3
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
dec eax
mov dword [esp + 0x6c], eax
test ecx, ecx
je 0x534314
test byte [esp + 0x2c], 4
je 0x534314
lea eax, [esi - 0x10]
cmp ecx, eax
jne 0x534314
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 0x5343c2
cmp ebx, 0x30
jb 0x534340
cmp ebx, 0x39
jbe 0x5343c2
mov ecx, dword [0x5a4bdc]
xor eax, eax
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x534364
cmp ebx, ecx
je 0x53436e
mov ecx, dword [eax*4 + 0x5a4be0]
inc eax
mov dword [esp + 0x3c], eax
test ecx, ecx
jne 0x534350
mov ecx, 0xb6
jmp 0x5351e8
mov ecx, dword [eax*4 + 0x5a4bb8]
test ecx, ecx
je 0x534364
mov dword [esi], 0x80070000
nop
add edi, 2
cmp edi, ebp
jae 0x5350a5
movzx eax, word [edi]
cmp eax, ecx
jne 0x534380
add edi, 2
cmp edi, ebp
jae 0x5343a0
movzx eax, word [edi]
cmp eax, ecx
je 0x534380
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 0x534401
xor ebx, ebx
mov dword [esi], 0x80060000
add esi, 0xc
nop dword [eax]
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x30
jb 0x5343ff
cmp eax, 0x39
ja 0x5343ff
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 0x5350b1
mov edx, edi
cmp edi, ebp
jb 0x5343d0
mov dword [esi], ebx
cmp ecx, ebp
jae 0x5350bb
cmp word [edi], 0x29
jne 0x5350bb
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 0x532a40
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x5351e3
movzx eax, word [edi]
inc dword [esp + 0x14]
cmp eax, 0x3f
je 0x5347c7
cmp eax, 0x2a
je 0x5347c7
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.00536980
add esp, 0x1c
test eax, eax
je 0x5344dd
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test ecx, ecx
jle 0x5350c5
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 0x53479a
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x53500e
mov ecx, dword [esp + 0x10]
mov ebp, ecx
mov ebx, dword [esp + 0xa8]
sub ebp, ebx
sar ebp, 1
cmp ebp, 0xa
jl 0x53462f
push 7
push str.VERSION
push ebx
call fcn.00536df0
add esp, 0xc
test eax, eax
jne 0x53462b
cmp word [ebx + 0xe], 0x29
lea edi, [ebx + 0xe]
je 0x53462b
xor ebp, ebp
xor ebx, ebx
cmp word [edi], 0x3e
mov eax, edi
mov dword [esp + 0x30], ebp
jne 0x534541
add edi, 2
lea ebp, [ebx + 1]
mov eax, edi
cmp word [edi], 0x3d
jne 0x5350cf
lea edi, [eax + 2]
movzx eax, word [edi]
mov dword [esp + 0xa8], edi
cmp eax, 0x30
jb 0x5350cf
cmp eax, 0x39
ja 0x5350cf
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.00536980
add esp, 0x1c
test eax, eax
je 0x535145
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x5350cf
cmp word [edi], 0x2e
jne 0x534611
add edi, 2
cmp edi, edx
jae 0x5350cf
movzx eax, word [edi]
cmp eax, 0x30
jb 0x5350cf
cmp eax, 0x39
ja 0x5350cf
sub eax, 0x30
add edi, 2
lea ebx, [eax + eax*4]
add ebx, ebx
cmp edi, edx
jae 0x5350cf
movzx eax, word [edi]
cmp eax, 0x30
jb 0x534607
cmp eax, 0x39
ja 0x534607
add eax, 0xffffffd0
lea ecx, [edi + 2]
add ebx, eax
mov edi, ecx
cmp ecx, edx
jae 0x5350cf
cmp word [edi], 0x29
jne 0x5350cf
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 0x534793
mov ecx, dword [esp + 0x10]
movzx eax, word [ebx]
mov dword [esp + 0x24], 0
cmp eax, 0x52
jne 0x53465c
cmp ebp, 1
jle 0x534677
cmp word [ebx + 2], 0x26
lea eax, [ebx + 2]
jne 0x534677
mov ebx, 1
mov dword [esp + 0xa8], eax
jmp 0x534685
cmp eax, 0x3c
jne 0x53466a
mov ebx, dword [esp + 0x24]
lea edi, [eax + 2]
jmp 0x53468a
cmp eax, 0x27
jne 0x534677
mov ebx, dword [esp + 0x24]
mov edi, eax
jmp 0x53468a
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.00536730
add esp, 0x24
test eax, eax
je 0x53514c
mov ebp, dword [esp + 0x34]
test ebx, ebx
je 0x5346e1
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80130000
sub edi, 2
jmp 0x53477c
cmp edi, 0x29
jne 0x53476f
mov ebx, dword [esp + 0x50]
cmp ebp, 6
jne 0x53471d
push 6
push str.DEFINE
push ebx
call fcn.00536df0
add esp, 0xc
test eax, eax
jne 0x53471d
mov eax, 0x80100000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x53477c
mov eax, 1
mov dword [esp + 0x3c], eax
mov ecx, eax
cmp ebp, eax
jle 0x53474d
mov edi, eax
nop
movzx edx, word [ebx + eax*2]
mov ecx, edi
cmp edx, 0x30
jb 0x53474d
cmp edx, 0x39
ja 0x53474d
inc eax
mov dword [esp + 0x3c], eax
mov ecx, eax
mov edi, ecx
cmp eax, ebp
jl 0x534730
cmp word [ebx], 0x52
jne 0x53475c
mov eax, 0x80140000
cmp ecx, ebp
jge 0x534761
mov eax, 0x80110000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x53477c
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80110000
mov eax, dword [esi]
add esi, 4
cmp eax, 0x80100000
je 0x53478d
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 0x5350d9
cmp word [edi], 0x29
jne 0x5350d9
mov ebx, dword [esp + 0x18]
add edi, 2
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x532a40
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 0x532a40
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 0x532a39
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80230000
jmp 0x5348d7
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80270000
jmp 0x5348d7
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80240000
jmp 0x5348d7
mov eax, dword [esp + 0x10]
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x5341b5
movzx eax, word [edi + 2]
cmp eax, 0x3d
je 0x5348a1
cmp eax, 0x21
je 0x53488f
cmp eax, 0x2a
jne 0x5341b5
cmp eax, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x5348a6
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 0x53492e
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x5348fc
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
jmp 0x534910
add edx, 0xc
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x84]
jae 0x535174
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 0x532a39
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.00536730
add esp, 0x24
test eax, eax
je 0x53514c
mov eax, dword [ebp + 0x74]
cmp eax, 0xffff
jae 0x535127
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 0x535116
mov ecx, dword [esp + 0x34]
movzx eax, word [ebp + 0x5a]
add ecx, 2
cmp ecx, eax
mov ecx, dword [esp + 0x34]
jbe 0x5349c9
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 0x534a5a
movzx eax, word [edi + 8]
cmp ecx, eax
jne 0x534a31
push ecx
push dword [edi]
push dword [esp + 0x58]
call fcn.00536db0
add esp, 0xc
test eax, eax
jne 0x534a31
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x534a5a
test byte [esp + 0x2c], 0x40
je 0x5350e3
mov eax, 1
mov word [edi + 0xa], ax
mov dword [esp + 0x30], eax
mov dword [ecx + 0xbc], eax
jmp 0x534a44
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x5350f4
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 0x5349e7
mov ebp, dword [esp + 0xb4]
movzx ecx, word [ebp + 0x58]
mov edx, ecx
cmp ebx, edx
jl case.default.0x533397
mov eax, dword [ebp + 0x68]
cmp edx, eax
jb 0x534ace
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 0x535105
mov eax, dword [ebp + 0x68]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push dword [ebp + 0x64]
push edi
call fcn.0056a220
add esp, 0xc
cmp dword [ebp + 0x68], 0x14
jbe 0x534ac4
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 0x532a40
cmp ecx, 0x2d
jne 0x534b54
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x534b54
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x534b54
cmp eax, 0x39
jbe 0x534b80
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
inc eax
mov dword [esp + 0x14], eax
test edx, edx
jne 0x534c2b
mov ebp, dword [esp + 0xb4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
jmp 0x534c46
mov edx, dword [esp + 0x10]
cmp ecx, 0x30
jb 0x534b96
cmp ecx, 0x39
ja 0x534b96
mov ebp, dword [esp + 0xb4]
or eax, 0xffffffff
jmp 0x534ba0
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.00536980
add esp, 0x1c
test eax, eax
je 0x53514c
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test eax, eax
js 0x535138
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x5351e3
cmp word [edi], 0x29
jne 0x5351e3
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 0x532a40
add edx, 0xc
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x84]
jae 0x535174
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 0x534ca4
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 0x532a40
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 0x534cde
and dword [esp + 0x2c], 0xfeffdb57
add edi, 2
mov dword [esp + 0x24], eax
mov ecx, edi
cmp ecx, dword [esp + 0x10]
jae 0x534db5
mov edx, ecx
nop word [eax + eax]
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x29
je 0x534dad
cmp eax, 0x3a
je 0x534dad
sub eax, 0x2d
lea edi, [edx + 2]
cmp eax, 0x4b
ja case.0x534d1d.46
movzx eax, byte [eax + 0x535410]
jmp dword [eax*4 + 0x5353ec]
cmp dword [esp + 0x24], ebp
je 0x53515c
lea ebx, [esp + 0x60]
mov dword [esp + 0x24], ebp
mov ecx, edi
jmp 0x534da1
mov eax, dword [esp + 0xb4]
mov ecx, edi
or dword [ebx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x534da1
or dword [ebx], 8
mov ecx, edi
jmp 0x534da1
or dword [ebx], 0x400
mov ecx, edi
jmp 0x534da1
or dword [ebx], 0x2000
mov ecx, edi
jmp 0x534da1
or dword [ebx], 0x20
mov ecx, edi
jmp 0x534da1
or dword [ebx], 0x40000
mov ecx, edi
jmp 0x534da1
mov eax, dword [ebx]
mov ecx, edi
or eax, 0x80
mov dword [ebx], eax
cmp edi, dword [esp + 0x10]
jae 0x534da1
cmp word [edi], 0x78
jne 0x534da1
or eax, 0x1000000
lea ecx, [edi + 2]
mov dword [ebx], eax
mov edi, ecx
mov edx, ecx
cmp edi, dword [esp + 0x10]
jb 0x534cf0
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x60]
mov eax, ebp
and eax, 0x1000080
cmp eax, 0x80
je 0x534dc7
test dl, dl
jns 0x534dcd
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 0x5351e3
mov ax, word [edi]
lea edi, [ecx + 2]
mov ebp, dword [esp + 0xb4]
cmp ax, 0x29
jne 0x534e23
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x38]
movzx ecx, ax
mov dword [esp + 0x14], ecx
cmp edx, dword [ebp + 0x14]
jbe 0x534e1e
cmp word [edx - 0xc], cx
lea eax, [edx - 0xc]
jne 0x534e1e
mov dword [esp + 0x38], eax
jmp 0x534e30
mov word [edx], cx
jmp 0x534e30
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 0x532a39
mov dword [esi], 0x801b0000
mov dword [esi + 4], ebx
add esi, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
jmp 0x532a40
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0xb4]
test edx, edx
je 0x534e8f
mov ecx, dword [esp + 0x14]
cmp word [edx], cx
jne 0x534e8f
test byte [edx + 6], 1
je 0x534e8f
movzx eax, word [edx + 4]
mov ecx, dword [ebp + 0x74]
cmp ecx, eax
jbe 0x534e88
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 0x532a40
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], 1
test edx, edx
je 0x534f3f
mov ecx, dword [esp + 0x14]
cmp word [edx], cx
jne 0x534f3f
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 0x534f0b
movzx edx, word [edx + 4]
cmp edx, dword [ebp + 0x74]
jbe 0x534f07
mov dword [ebp + 0x74], edx
mov edx, dword [esp + 0x38]
movzx eax, word [edx + 6]
jmp 0x534f0b
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 0x534f25
mov dword [esi], 0x80190000
add esi, 4
cmp edx, dword [ebp + 0x14]
jne 0x534f32
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x534f46
sub edx, 0xc
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], edx
jmp 0x534f46
mov ebp, dword [esp + 0xb4]
mov edx, dword [esp + 0x14]
test dx, dx
je 0x53517e
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 0x532a39
mov dword [esi], ebx
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], 1
jmp 0x532a2e
mov ecx, 0x8c
jmp 0x5351ef
mov edi, dword [esp + 0x40]
mov ecx, 0xb0
add edi, 0xfffffffe
jmp 0x5351ef
mov ecx, 0x76
jmp 0x5351e8
mov ecx, 0x6d
sub edi, 2
jmp 0x5351e8
movzx eax, word [edi]
xor ecx, ecx
mov edi, dword [esp + 0x40]
add edi, 0xfffffffe
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x5351e8
mov ecx, 0x71
sub edi, 2
jmp 0x5351e8
mov ebp, dword [esp + 0xb4]
mov edi, dword [esp + 0xa8]
jmp 0x5351ef
mov edi, dword [esp + 0xa8]
mov ecx, 0x6b
sub edi, 2
jmp 0x5351ef
mov ecx, 0xab
mov edi, dword [esp + 0xa8]
jmp 0x5351ef
mov edi, dword [esp + 0xa8]
mov ecx, 0x96
jmp 0x5351ef
mov ebp, dword [esp + 0xb4]
mov ecx, 0x96
jmp 0x5351ef
mov ecx, 0x6c
sub edi, 2
jmp 0x5351e8
mov ecx, 0x6a
jmp 0x5351ef
cmp edx, 0x80270000
je 0x53506c
mov ecx, 0x80
cmp edx, 0x80280000
jne 0x5351e8
mov ecx, 0xc6
jmp 0x5351e8
mov ebp, dword [esp + 0xb4]
mov ecx, 0xc3
jmp 0x5351ef
mov ecx, 0xa6
jmp 0x5351e8
mov ecx, 0x8d
jmp 0x5351ef
mov ecx, 0x9e
jmp 0x5351e8
mov ecx, 0xb5
mov edi, edx
jmp 0x5351e8
mov ecx, 0x8a
jmp 0x5351e8
mov ecx, 0x8b
jmp 0x5351e8
mov ecx, 0x73
jmp 0x5351ef
mov ecx, 0xb3
jmp 0x5351e8
mov ecx, 0x7c
jmp 0x5351ef
mov edi, dword [esp + 0xa8]
mov ecx, 0x8f
jmp 0x5351e8
mov edi, dword [esp + 0xa8]
mov ecx, 0xa5
jmp 0x5351e8
mov edi, dword [esp + 0xa8]
mov ecx, 0x79
jmp 0x5351ef
mov edi, dword [esp + 0xa8]
mov ecx, 0x95
jmp 0x5351ef
mov edi, dword [esp + 0xa8]
mov ecx, 0xc5
jmp 0x5351ef
mov ecx, 0x73
sub edi, 2
jmp 0x5351e8
mov ebp, dword [esp + 0xb4]
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x28]
jmp 0x5351ef
mov ecx, 0xc2
mov edi, edx
jmp 0x5351e8
mov ecx, 0x6f
mov edi, edx
jmp 0x5351e8
mov ecx, 0xb8
jmp 0x5351e8
mov ecx, 0x7a
sub edi, 2
jmp 0x5351e8
mov ecx, 0x77
jmp 0x5351ef
cmp dword [esp + 0x70], 0
je 0x53295c
mov ecx, 0xa0
jmp 0x5351e8
test byte [esp + 0x78], 4
je 0x5351b8
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [esp + 0x8c]
jb 0x5351c8
mov ecx, 0xa3
jmp 0x5351e8
cmp word [esp + 0x14], 0
mov dword [ecx], SysReAllocString
jne 0x5351e3
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