Function at 0x532480
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 0x532537
mov dword [esi], 0x80090000
jmp 0x532542
test cl, 4
je 0x532550
mov dword [esi], 0x80180005
mov dword [esi + 4], 0x801a0000
add esi, 8
mov dword [esp + 0x1c], esi
test edi, 0x2000000
je 0x5326b4
mov edi, dword [esp + 0xa8]
cmp edi, ebp
jae 0x532643
nop dword [eax + eax]
cmp esi, dword [esp + 0x8c]
jae 0x534ea1
movzx ecx, word [edi]
mov edx, edi
lea edi, [edx + 2]
test eax, eax
je 0x5325b3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5325b3
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 0x532627
cmp dword [esp + 0x18], 0
mov ebx, esi
je 0x5325f3
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 0x5325f3
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xc], 0xff
je 0x53260e
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 0x532570
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0xb4]
mov ecx, esi
test ebx, ebx
je 0x532656
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 0x532694
test ebx, ebx
je 0x532671
lea eax, [esi - 0x10]
cmp ebx, eax
jne 0x532671
cmp dword [ebx + 0xc], 0xff
je 0x53268a
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 0x534e81
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x534e95
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 0x532720
mov ecx, dword [esp + 0x10]
jmp 0x532720
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 0x534e6f
mov dword [esp + 0x60], 0
mov dword [esp + 0x30], 0
cmp esi, dword [esp + 0x8c]
jae 0x534ea1
mov ecx, dword [ebp]
movzx eax, dx
cmp eax, dword [ecx + 0x20]
ja 0x534e68
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 0x5327cb
mov eax, ebx
mov dword [esp + 0x40], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5327c7
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 0x5327cb
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], 0
je 0x53286f
cmp ebp, 0x5c
jne 0x5327f9
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jae 0x5327f9
cmp word [edi], 0x45
jne 0x5327f9
mov dword [esp + 0x54], 0
lea edi, [eax + 2]
jmp 0x53270e
cmp dword [esp + 0x6c], 0
jg case.0x532ccd.34
cmp dword [esp + 0x70], 0
jne 0x532846
mov ecx, dword [esp + 0x68]
mov eax, ecx
dec ecx
mov dword [esp + 0x68], ecx
test eax, eax
jg 0x53283e
push dword [esp + 0xb4]
lea eax, [esp + 0x68]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.00532400
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 0x532720
cmp dword [esp + 0x70], 0
je 0x5329e6
mov eax, dword [esp + 0x2c]
and eax, 0x400080
cmp eax, 0x400080
jne 0x5328da
cmp ebp, 0xff
jbe 0x5328a5
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x5328a5
cmp eax, 0x2029
jne 0x53284e
cmp ebp, 0x100
jae 0x5329e6
cmp ebp, 0x23
je 0x532a16
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x5329e6
cmp ebp, 0x85
je 0x532a16
cmp ebp, 0x29
je 0x53297b
cmp ebp, 0x5c
jne 0x53284e
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xb4]
test edx, 0x400000
je 0x532969
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.0052c240
mov ecx, dword [esp + 0x48]
add esp, 0x20
test ecx, ecx
jne 0x534cc9
sub eax, ecx
je 0x53295e
sub eax, 0x19
je case.default.0x533077
mov edi, dword [esp + 0xa8]
sub eax, 1
jne 0x534c69
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], 1
jmp 0x532715
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 0x532715
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 0x534c73
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 0x532720
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x80], 0
jmp 0x532715
cmp ebp, 0x5c
jne 0x532a16
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x10]
jae 0x532a16
movzx eax, word [edi]
cmp eax, 0x51
je 0x532a02
cmp eax, 0x45
jne 0x532a16
xor edx, edx
lea edi, [ecx + 2]
cmp eax, 0x51
sete dl
mov dword [esp + 0x54], edx
jmp 0x53270a
test byte [esp + 0x2c], 0x80
je 0x532b3d
cmp ebp, 0x100
jae 0x532a3d
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x53270a
cmp ebp, 0x85
je 0x53270a
mov eax, ebp
or eax, 1
cmp eax, 0x200f
je 0x53270a
cmp eax, 0x2029
je 0x53270a
cmp ebp, 0x23
jne 0x532b3d
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp edi, ecx
jae 0x532720
nop dword [eax + eax]
mov eax, dword [ebp + 0x90]
mov ecx, dword [ebp + 0x20]
test eax, eax
je 0x532ac9
cmp edi, ecx
jae 0x532af6
push dword [esp + 0x44]
lea ebx, [ebp + 0x94]
push ebx
push ecx
push eax
push edi
call fcn.005370b0
add esp, 0x14
test eax, eax
je 0x532af6
mov edx, dword [ebx]
mov ecx, dword [esp + 0x10]
lea edi, [edi + edx*2]
jmp 0x532715
mov edx, dword [ebp + 0x94]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x532af6
mov ax, word [edi]
cmp ax, word [ebp + 0xa0]
jne 0x532af6
cmp edx, 1
je 0x532abd
mov ax, word [edi + 2]
cmp ax, word [ebp + 0xa2]
je 0x532abd
mov ecx, dword [esp + 0x10]
add edi, 2
cmp dword [esp + 0x44], 0
mov eax, edi
je 0x532b28
cmp edi, ecx
jae 0x532b28
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x532a90
add edi, 2
mov eax, edi
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp eax, ecx
jb 0x532a90
jmp 0x532720
cmp ebp, 0x28
jne 0x532b81
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x532bbb
cmp word [edi], 0x3f
jne 0x532bbb
cmp word [edi + 2], 0x23
jne 0x532bbb
nop
add edi, 2
cmp edi, ecx
jae 0x534c84
cmp word [edi], 0x29
jne 0x532b60
cmp edi, ecx
jae 0x534c84
add edi, 2
jmp 0x53270e
cmp ebp, 0x2a
je 0x532bf2
cmp ebp, 0x2b
je 0x532bf2
cmp ebp, 0x3f
je 0x532bf2
cmp ebp, 0x7b
jne 0x532bbb
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.005367a0
add esp, 0x14
test eax, eax
jne 0x532bf2
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x68]
mov eax, ecx
dec ecx
mov dword [esp + 0x68], ecx
test eax, eax
jg 0x532bf2
push dword [esp + 0xb4]
lea eax, [esp + 0x68]
push esi
push dword [esp + 0x7c]
push eax
push edx
call fcn.00532400
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 0x532c54
cmp ebp, 0x28
jne case.0x532ccd.34
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x532ccd.34
movzx eax, word [edi]
cmp eax, 0x3f
je 0x532cba
cmp eax, 0x2a
jne case.0x532ccd.34
movzx eax, word [edi + 2]
mov ecx, 0xff
mov ebp, dword [esp + 0xb4]
cmp ax, cx
ja 0x532cf1
mov ecx, eax
mov eax, dword [ebp + 0x10]
test byte [ecx + eax], 4
je 0x532cf1
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 0x532d0c
cmp ebx, 0x3f
je 0x532c8e
cmp ebx, 0x2b
jne 0x532d0c
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 0x53270a
movzx eax, word [edi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x532ccd.34
movzx eax, byte [eax + 0x534ef4]
jmp dword [eax*4 + 0x534ee4]
movzx eax, word [edi + 4]
cmp eax, 0x3d
je case.0x532ccd.33
cmp eax, 0x21
je case.0x532ccd.33
mov ebp, dword [esp + 0xb4]
mov edi, dword [esp + 0x40]
mov ecx, 0x80
add edi, 0xfffffffe
jmp 0x534ecf
cmp edx, 2
jne case.0x532ccd.34
jmp case.0x532ccd.33
lea eax, [ebx - 0x24]
cmp eax, 0x58
ja case.0x532d1f.37
movzx eax, byte [eax + 0x534f4c]
jmp dword [eax*4 + 0x534f18]
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.0052c240
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov ebx, eax
test ecx, ecx
jne 0x532d9a
test ebx, ebx
je 0x5330e1
js 0x53309f
lea eax, [ebx - 6]
cmp eax, 0x16
ja case.0x532d80.13
movzx eax, byte [eax + 0x534fc0]
jmp dword [eax*4 + 0x534fa8]
test dword [esp + 0x2c], 0x100000
je case.0x532d80.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 0x534ec8
mov eax, dword [esp + 0x5c]
mov edi, eax
cmp eax, edx
jb 0x5330f1
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 0x532720
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 0x532720
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.00531c90
add esp, 0x18
test eax, eax
je 0x533011
cmp dword [esp + 0x98], 0
je 0x532e70
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 0x532720
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x53301a
movzx eax, word [edi]
cmp eax, 0x7b
je 0x532ee5
cmp eax, 0x3c
je 0x532f65
cmp eax, 0x27
jne 0x53301a
cmp eax, 0x27
mov ebp, 0x7d
mov eax, 0x27
cmove ebp, eax
cmp ebx, 0x1b
jne 0x532f8a
cmp ebp, 0x7d
je 0x532f8a
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.00536660
add esp, 0x1c
test eax, eax
je 0x532f7a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
cmp ecx, edx
jae 0x532f6c
movzx eax, word [ecx]
cmp eax, ebp
jne 0x532f6c
mov eax, dword [esp + 0x3c]
mov edi, ecx
mov ebp, dword [esp + 0xb4]
mov ecx, edx
jmp 0x5348d7
mov ebp, 0x3e
jmp 0x532ef5
mov ecx, 0x9d
mov dword [esp + 0x28], ecx
jmp 0x532da5
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x532da1
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.00536410
add esp, 0x24
test eax, eax
je 0x533011
cmp ebx, 0x1c
je 0x532fce
mov eax, 0x80210000
cmp ebp, 0x7d
jne 0x532fd3
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 0x532720
mov ecx, dword [esp + 0x28]
jmp 0x532d9a
cmp ebx, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x532da5
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x20], 1
je case.0x532d80.13
cmp ebx, 7
je 0x53305d
cmp ebx, 9
je 0x53305d
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x533062
mov eax, 0x80180010
mov dword [esi], eax
add ebx, 0xfffffffa
add esi, 4
mov dword [esp + 0x1c], esi
cmp ebx, 5
ja case.default.0x533077
jmp dword [ebx*4 + 0x534fd8]
mov dword [esi], 0x3000d
jmp 0x532dfc
mov dword [esi], 0x70000
jmp 0x532dfc
mov dword [esi], 0x90000
jmp 0x532dfc
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 0x532dca
cmp dword [ebp + ebx*4 + 0x2c], 0xffffffff
jne 0x532dd3
mov dword [ebp + ebx*4 + 0x2c], ecx
jmp 0x532dd3
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x4c]
jmp 0x532dca
cmp dword [esp + 0x44], 0
lea edi, [eax + 2]
movzx ecx, word [eax]
je 0x532dc3
mov ebp, dword [esp + 0xb4]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x532dca
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
jmp 0x532dca
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 0x532720
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 0x532720
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 0x532720
mov dword [esp + 0x58], 0x80340000
jmp 0x533218
mov dword [esp + 0x58], 0x80370000
jmp 0x533218
mov dword [esp + 0x58], 0x803a0000
jmp 0x533218
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.005367a0
add esp, 0x14
test eax, eax
jne 0x533209
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x534cc2
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x20], 1
jmp 0x53284e
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x58], 0x803d0000
test ebp, ebp
je 0x534c8e
cmp dword [esi - 4], 0x802a0000
lea ecx, [esi - 4]
jne 0x533250
mov edx, dword [esp + 0x7c]
cmp ecx, edx
jb 0x533240
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x533234
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 0x532720
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 0x532720
mov eax, ecx
mov dword [esp + 0x20], 1
sub eax, edi
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x533382
push 6
push 0x5a4a60
push edi
call fcn.00536ad0
add esp, 0xc
test eax, eax
je 0x5332d6
push 6
push str._:_:__
push edi
call fcn.00536ad0
add esp, 0xc
test eax, eax
jne 0x53337e
mov dword [esi], 0x80180005
lea eax, [esi + 8]
cmp word [edi + 4], 0x3c
jne 0x5332ef
mov dword [esi + 4], 0x80230000
jmp 0x53330c
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 0x533347
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 0x532720
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 0x532720
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x5333b3
movzx eax, word [edi]
cmp eax, 0x3a
je 0x533398
cmp eax, 0x2e
je 0x533398
cmp eax, 0x3d
jne 0x5333b3
lea eax, [esp + 0x5c]
push eax
push ecx
push edi
call fcn.0052d3f0
add esp, 0xc
test eax, eax
jne 0x534c9b
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x24], edx
cmp edi, ecx
jae 0x5334b6
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 0x533417
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x533417
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 0x533474
mov ecx, dword [esp + 0x10]
cmp ebp, ecx
jae 0x53343b
cmp word [edi], 0x45
jne 0x53343b
mov eax, 2
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x5334a4
mov eax, ecx
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 6
jl 0x5334b2
push 3
push 0x5a4a70
push edi
call fcn.00536ad0
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5334b2
mov eax, 6
lea edi, [eax + ebp]
mov dword [esp + 0xa8], edi
jmp 0x5334a4
test dword [esp + 0x2c], 0x1000000
je 0x533488
cmp ecx, 0x20
je 0x5334a0
cmp ecx, 9
je 0x5334a0
test edx, edx
jne 0x5334ae
cmp ecx, 0x5e
mov ecx, dword [esp + 0x10]
jne 0x5334b2
mov edx, 1
mov dword [esp + 0x24], edx
jmp 0x5334a4
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jb 0x5333c5
jmp 0x5334b2
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
cmp ebx, 0x5d
jne 0x5334ed
mov ebp, dword [esp + 0xb4]
test byte [ebp + 0x6c], 1
je 0x5334ed
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 0x532720
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 0x533544
cmp ebx, 0x5c
jne 0x5337b8
cmp edi, ecx
jae 0x5337b8
cmp word [edi], 0x45
jne 0x5337b8
mov dword [esp + 0x54], 0
add edi, 2
jmp 0x53396d
test dword [esp + 0x2c], 0x1000000
je 0x533560
cmp ebx, 0x20
je 0x53396d
cmp ebx, 9
je 0x53396d
cmp ebx, 0x5b
jne 0x5336d2
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl 0x5337b8
movzx eax, word [edi]
cmp eax, 0x3a
je 0x53358f
cmp eax, 0x2e
je 0x53358f
cmp eax, 0x3d
jne 0x5337b8
lea eax, [esp + 0x5c]
push eax
push ecx
push edi
call fcn.0052d3f0
add esp, 0xc
test eax, eax
je 0x5337b4
mov dword [esp + 0x24], 0
cmp dword [esp + 0x20], ebp
je 0x534d0b
cmp word [edi], 0x3a
jne 0x534cb5
add edi, 2
mov edx, edi
cmp word [edi], 0x5e
jne 0x5335d6
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 0x533610
push ebp
push ecx
push edx
call fcn.00536ad0
add esp, 0xc
test eax, eax
je 0x533632
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 0x5335f0
mov ecx, 0x82
jmp 0x534ec8
test ebx, ebx
js 0x533628
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x10]
add edi, 4
add eax, 0xfffffffe
cmp edi, eax
jae 0x533659
cmp word [edi], 0x2d
jne 0x533659
cmp word [edi + 2], 0x5d
jne 0x534d0b
xor edx, edx
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x20], edx
je 0x5336b9
mov eax, dword [ebx*8 + 0x607050]
mov edx, dword [ebx*8 + 0x607054]
test eax, eax
js 0x53369e
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 0x53396d
test edx, edx
mov edx, dword [esp + 0x20]
je 0x5336b9
mov eax, dword [esp + 0x24]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [esi], eax
jmp 0x53396a
mov eax, dword [esp + 0x24]
add eax, 0x801c
shl eax, 0x10
mov dword [esi], eax
mov dword [esi + 4], ebx
add esi, 8
jmp 0x53396d
cmp ebx, 0x2d
jne 0x5336f9
cmp edx, 2
jb 0x5337b8
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov edx, ebp
cmove eax, ecx
mov dword [esi], eax
jmp 0x533966
cmp ebx, 0x5c
jne 0x5337b8
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.0052c240
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov ebx, eax
test ecx, ecx
je 0x533792
test byte [esp + 0x78], 2
je 0x534cc9
cmp edi, dword [esp + 0x10]
jb 0x533757
mov ebx, 0x5c
jmp 0x5337b2
cmp dword [esp + 0x44], 0
lea ecx, [edi + 2]
movzx ebx, word [edi]
mov edi, ecx
je 0x5337b2
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5337b2
movzx eax, word [edi]
and ebx, 0x3ff
shl ebx, 0xa
lea edi, [ecx + 2]
and eax, 0x3ff
or ebx, eax
add ebx, 0x10000
jmp 0x5337b2
cmp ebx, 0x1a
ja case.0x5337a0.1
mov ebx, eax
movzx eax, byte [eax + 0x535008]
jmp dword [eax*4 + 0x534ff0]
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x4c]
xor ebp, ebp
mov edx, dword [esp + 0x20]
cmp edx, 1
jne 0x533961
cmp ebx, dword [esi - 8]
jne 0x53393a
sub esi, 4
xor edx, edx
mov dword [esp + 0x20], edx
jmp 0x53396d
mov edi, dword [esp + 0xa8]
mov ebx, 8
xor ebp, ebp
jmp 0x5337b4
mov dword [esp + 0x54], 1
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x20]
jmp 0x533974
cmp dword [esp + 0x20], 1
je 0x534cfa
xor edx, edx
lea ecx, [ebx - 6]
mov dword [esp + 0x20], edx
cmp ecx, 0xf
ja case.0x533824.13
movzx eax, byte [ecx + 0x535038]
jmp dword [eax*4 + 0x535024]
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x53387c
test dword [esp + 0x2c], 0x20000
jne 0x533855
lea eax, [ebx - 0x7fe80000]
mov dword [esi], eax
add esi, 4
jmp case.default.0x53387c
cmp ebx, 7
je 0x533869
cmp ebx, 9
je 0x533869
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x53386e
mov eax, 0x80180010
mov dword [esi], eax
add esi, 4
cmp ecx, 5
ja case.default.0x53387c
jmp dword [ecx*4 + 0x535048]
mov dword [esi], 0x3000d
add esi, 4
jmp case.default.0x53387c
mov dword [esi], 0x70000
add esi, 4
jmp case.default.0x53387c
mov dword [esi], 0x90000
add esi, 4
jmp case.default.0x53387c
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.00531c90
add esp, 0x18
test eax, eax
je 0x534e2c
cmp dword [esp + 0x9c], 0
je 0x5338f4
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 0x533974
cmp word [edi], 0x2d
jne 0x533974
cmp word [edi + 2], 0x5d
jne 0x534d12
jmp 0x533974
jb 0x534d1c
test ebp, ebp
jne 0x533954
cmp dword [esi - 4], 0x801f0000
jne 0x533954
mov dword [esi - 4], 0x801e0000
mov dword [esi], ebx
add esi, 4
xor edx, edx
mov dword [esp + 0x20], edx
jmp 0x53396d
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 0x534d29
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 0x5339cf
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5339cf
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 0x533510
test eax, eax
jne 0x533510
cmp edx, 1
jne 0x5339f4
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 0x532720
cmp edi, ecx
jae 0x534ec3
movzx eax, word [edi]
cmp eax, 0x3f
je 0x533e46
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0xb4]
cmp eax, 0x2a
je 0x533a8b
inc edx
test dword [esp + 0x2c], 0x2000
mov dword [esp + 0x14], edx
jne 0x533a74
mov ecx, dword [ebp + 0x74]
cmp ecx, 0xffff
jae 0x534e0e
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 0x532719
mov ecx, 0x801a0000
mov dword [esi], ecx
add esi, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
jmp 0x532719
mov ebx, dword [esp + 0x18]
mov eax, ecx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x532720
movzx ecx, word [edi + 2]
mov edx, dword [esp + 0x14]
cmp ecx, 0x29
je 0x532704
cmp ecx, 0xff
ja 0x533cbe
mov eax, dword [ebp + 0x10]
test byte [ecx + eax], 4
je 0x533cbe
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.00536410
add esp, 0x24
test eax, eax
je 0x534e2c
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x40], edi
cmp edi, ebx
jae 0x534d5d
cmp word [edi], 0x3a
jne 0x534d5d
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 0x533b51
push edi
push esi
push dword [esp + 0x58]
call fcn.00536ad0
add esp, 0xc
test eax, eax
je 0x533b65
inc esi
add esi, dword [ebx*8 + 0x5a4718]
inc ebx
mov dword [esp + 0x3c], ebx
mov ebp, ebx
cmp ebx, 0x11
jl 0x533b36
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x40]
cmp ebp, 0x11
jge 0x534d56
mov edx, dword [ebx*8 + 0x5a471c]
mov ebx, dword [esp + 0x24]
test ebx, ebx
jle 0x533b96
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x534d33
cmp edx, 0x80250000
ja 0x533c07
je 0x533c32
cmp edx, 0x80230000
ja 0x533bf1
je 0x5344ff
cmp edx, 0x80020000
je case.0x533e70.62
cmp edx, 0x80220000
jne 0x533bfd
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 0x532719
cmp edx, 0x80240000
je 0x534531
mov ecx, 0xbd
jmp 0x534ec8
cmp edx, 0x80280000
ja 0x533c3a
je 0x533c32
cmp edx, 0x80260000
je 0x533c32
cmp edx, 0x80270000
jne 0x533bfd
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], edx
jmp 0x5345b7
sub edi, 2
jmp 0x53458a
cmp edx, 0x8fff0000
jne 0x533bfd
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 0x533c7a
mov ebp, dword [esp + 0xb4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
jmp 0x533c95
add edx, 0xc
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x84]
jae 0x534e54
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 0x532720
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.00536410
add esp, 0x24
test eax, eax
je 0x534e2c
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x40], edi
cmp edi, ebx
jae 0x534e7a
movzx eax, word [edi]
cmp eax, 0x3a
je 0x533d25
cmp eax, 0x29
jne 0x534e7a
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 0x533d51
push eax
push edi
push dword [esp + 0x58]
call fcn.00536ad0
add esp, 0xc
test eax, eax
je 0x533d64
inc edi
inc ebx
add edi, dword [ebp]
mov esi, ebx
add ebp, 0xc
mov dword [esp + 0x3c], ebx
cmp ebx, 9
jl 0x533d36
mov edi, dword [esp + 0x40]
cmp esi, 9
mov esi, dword [esp + 0x1c]
jge 0x534e7a
cmp word [edi], 0x3a
jne 0x533d8b
lea eax, [edi + 2]
cmp eax, dword [esp + 0x10]
jae 0x533d8b
cmp word [eax], 0x29
cmove edi, eax
lea ecx, [ebx + ebx*2]
mov ebx, dword [ecx*4 + 0x5a45b0]
test ebx, ebx
jle 0x533da3
cmp word [edi], 0x3a
jne 0x534d67
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 0x533e26
test ebx, ebx
jns 0x533ddd
mov dword [esp + 0x80], ecx
mov eax, 0x80290000
jmp 0x533def
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 0x532720
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 0x532720
add edi, 2
mov dword [esp + 0xa8], edi
mov edx, edi
cmp edi, ecx
jae 0x534ec3
movzx ecx, word [edi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x533e70.34
movzx eax, byte [eax + 0x535098]
jmp dword [eax*4 + 0x535060]
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x534ec3
movzx eax, word [edi]
cmp eax, 0x3c
jne 0x533e9f
mov eax, 0x3e
jmp 0x53461c
cmp eax, 0x3e
je 0x533f63
mov ebp, dword [esp + 0xb4]
cmp eax, 0x3d
jne 0x534d71
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.00536410
add esp, 0x24
test eax, eax
je 0x534e2c
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 0x532e8d
mov ecx, dword [esp + 0x10]
xor eax, eax
add edi, 2
mov dword [esp + 0x3c], eax
cmp edi, ecx
jae 0x534d7b
cmp word [edi], 0x29
jne 0x534d7b
mov ebp, dword [esp + 0xb4]
jmp 0x5348d7
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 4
jl 0x533f55
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x533f55
cmp eax, 0x39
jbe 0x534860
mov ecx, 0x81
jmp 0x534ec8
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.00536410
add esp, 0x24
test eax, eax
je 0x534e2c
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 0x532e8d
mov ebp, dword [esp + 0x10]
lea edx, [edi + 2]
mov edi, edx
cmp edx, ebp
jae 0x534ec3
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
dec eax
mov dword [esp + 0x6c], eax
test ecx, ecx
je 0x533ff4
test byte [esp + 0x2c], 4
je 0x533ff4
lea eax, [esi - 0x10]
cmp ecx, eax
jne 0x533ff4
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 0x5340a2
cmp ebx, 0x30
jb 0x534020
cmp ebx, 0x39
jbe 0x5340a2
mov ecx, dword [0x5a4bdc]
xor eax, eax
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x534044
cmp ebx, ecx
je 0x53404e
mov ecx, dword [eax*4 + 0x5a4be0]
inc eax
mov dword [esp + 0x3c], eax
test ecx, ecx
jne 0x534030
mov ecx, 0xb6
jmp 0x534ec8
mov ecx, dword [eax*4 + 0x5a4bb8]
test ecx, ecx
je 0x534044
mov dword [esi], 0x80070000
nop
add edi, 2
cmp edi, ebp
jae 0x534d85
movzx eax, word [edi]
cmp eax, ecx
jne 0x534060
add edi, 2
cmp edi, ebp
jae 0x534080
movzx eax, word [edi]
cmp eax, ecx
je 0x534060
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 0x5340e1
xor ebx, ebx
mov dword [esi], 0x80060000
add esi, 0xc
nop dword [eax]
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x30
jb 0x5340df
cmp eax, 0x39
ja 0x5340df
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 0x534d91
mov edx, edi
cmp edi, ebp
jb 0x5340b0
mov dword [esi], ebx
cmp ecx, ebp
jae 0x534d9b
cmp word [edi], 0x29
jne 0x534d9b
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 0x532720
mov ecx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0xa8], edi
cmp edi, ecx
jae 0x534ec3
movzx eax, word [edi]
inc dword [esp + 0x14]
cmp eax, 0x3f
je 0x5344a7
cmp eax, 0x2a
je 0x5344a7
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.00536660
add esp, 0x1c
test eax, eax
je 0x5341bd
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test ecx, ecx
jle 0x534da5
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 0x53447a
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x534cee
mov ecx, dword [esp + 0x10]
mov ebp, ecx
mov ebx, dword [esp + 0xa8]
sub ebp, ebx
sar ebp, 1
cmp ebp, 0xa
jl 0x53430f
push 7
push str.VERSION
push ebx
call fcn.00536ad0
add esp, 0xc
test eax, eax
jne 0x53430b
cmp word [ebx + 0xe], 0x29
lea edi, [ebx + 0xe]
je 0x53430b
xor ebp, ebp
xor ebx, ebx
cmp word [edi], 0x3e
mov eax, edi
mov dword [esp + 0x30], ebp
jne 0x534221
add edi, 2
lea ebp, [ebx + 1]
mov eax, edi
cmp word [edi], 0x3d
jne 0x534daf
lea edi, [eax + 2]
movzx eax, word [edi]
mov dword [esp + 0xa8], edi
cmp eax, 0x30
jb 0x534daf
cmp eax, 0x39
ja 0x534daf
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.00536660
add esp, 0x1c
test eax, eax
je 0x534e25
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x534daf
cmp word [edi], 0x2e
jne 0x5342f1
add edi, 2
cmp edi, edx
jae 0x534daf
movzx eax, word [edi]
cmp eax, 0x30
jb 0x534daf
cmp eax, 0x39
ja 0x534daf
sub eax, 0x30
add edi, 2
lea ebx, [eax + eax*4]
add ebx, ebx
cmp edi, edx
jae 0x534daf
movzx eax, word [edi]
cmp eax, 0x30
jb 0x5342e7
cmp eax, 0x39
ja 0x5342e7
add eax, 0xffffffd0
lea ecx, [edi + 2]
add ebx, eax
mov edi, ecx
cmp ecx, edx
jae 0x534daf
cmp word [edi], 0x29
jne 0x534daf
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 0x534473
mov ecx, dword [esp + 0x10]
movzx eax, word [ebx]
mov dword [esp + 0x24], 0
cmp eax, 0x52
jne 0x53433c
cmp ebp, 1
jle 0x534357
cmp word [ebx + 2], 0x26
lea eax, [ebx + 2]
jne 0x534357
mov ebx, 1
mov dword [esp + 0xa8], eax
jmp 0x534365
cmp eax, 0x3c
jne 0x53434a
mov ebx, dword [esp + 0x24]
lea edi, [eax + 2]
jmp 0x53436a
cmp eax, 0x27
jne 0x534357
mov ebx, dword [esp + 0x24]
mov edi, eax
jmp 0x53436a
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.00536410
add esp, 0x24
test eax, eax
je 0x534e2c
mov ebp, dword [esp + 0x34]
test ebx, ebx
je 0x5343c1
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80130000
sub edi, 2
jmp 0x53445c
cmp edi, 0x29
jne 0x53444f
mov ebx, dword [esp + 0x50]
cmp ebp, 6
jne 0x5343fd
push 6
push str.DEFINE
push ebx
call fcn.00536ad0
add esp, 0xc
test eax, eax
jne 0x5343fd
mov eax, 0x80100000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x53445c
mov eax, 1
mov dword [esp + 0x3c], eax
mov ecx, eax
cmp ebp, eax
jle 0x53442d
mov edi, eax
nop
movzx edx, word [ebx + eax*2]
mov ecx, edi
cmp edx, 0x30
jb 0x53442d
cmp edx, 0x39
ja 0x53442d
inc eax
mov dword [esp + 0x3c], eax
mov ecx, eax
mov edi, ecx
cmp eax, ebp
jl 0x534410
cmp word [ebx], 0x52
jne 0x53443c
mov eax, 0x80140000
cmp ecx, ebp
jge 0x534441
mov eax, 0x80110000
mov dword [esi], eax
mov edi, dword [esp + 0xa8]
sub edi, 2
jmp 0x53445c
mov edi, dword [esp + 0xa8]
mov dword [esi], 0x80110000
mov eax, dword [esi]
add esi, 4
cmp eax, 0x80100000
je 0x53446d
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 0x534db9
cmp word [edi], 0x29
jne 0x534db9
mov ebx, dword [esp + 0x18]
add edi, 2
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x532720
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 0x532720
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 0x532719
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80230000
jmp 0x5345b7
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80270000
jmp 0x5345b7
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xb4]
add edi, 2
mov dword [esi], 0x80240000
jmp 0x5345b7
mov eax, dword [esp + 0x10]
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x533e95
movzx eax, word [edi + 2]
cmp eax, 0x3d
je 0x534581
cmp eax, 0x21
je 0x53456f
cmp eax, 0x2a
jne 0x533e95
cmp eax, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x534586
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 0x53460e
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x5345dc
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
jmp 0x5345f0
add edx, 0xc
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x84]
jae 0x534e54
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 0x532719
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.00536410
add esp, 0x24
test eax, eax
je 0x534e2c
mov eax, dword [ebp + 0x74]
cmp eax, 0xffff
jae 0x534e07
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 0x534df6
mov ecx, dword [esp + 0x34]
movzx eax, word [ebp + 0x5a]
add ecx, 2
cmp ecx, eax
mov ecx, dword [esp + 0x34]
jbe 0x5346a9
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 0x53473a
movzx eax, word [edi + 8]
cmp ecx, eax
jne 0x534711
push ecx
push dword [edi]
push dword [esp + 0x58]
call fcn.00536a90
add esp, 0xc
test eax, eax
jne 0x534711
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x53473a
test byte [esp + 0x2c], 0x40
je 0x534dc3
mov eax, 1
mov word [edi + 0xa], ax
mov dword [esp + 0x30], eax
mov dword [ecx + 0xbc], eax
jmp 0x534724
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x74]
je 0x534dd4
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 0x5346c7
mov ebp, dword [esp + 0xb4]
movzx ecx, word [ebp + 0x58]
mov edx, ecx
cmp ebx, edx
jl case.default.0x533077
mov eax, dword [ebp + 0x68]
cmp edx, eax
jb 0x5347ae
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 0x534de5
mov eax, dword [ebp + 0x68]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push dword [ebp + 0x64]
push edi
call fcn.00569ef0
add esp, 0xc
cmp dword [ebp + 0x68], 0x14
jbe 0x5347a4
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 0x532720
cmp ecx, 0x2d
jne 0x534834
mov edx, dword [esp + 0x10]
mov eax, edx
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jle 0x534834
movzx eax, word [edi + 2]
cmp eax, 0x30
jb 0x534834
cmp eax, 0x39
jbe 0x534860
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
inc eax
mov dword [esp + 0x14], eax
test edx, edx
jne 0x53490b
mov ebp, dword [esp + 0xb4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
jmp 0x534926
mov edx, dword [esp + 0x10]
cmp ecx, 0x30
jb 0x534876
cmp ecx, 0x39
ja 0x534876
mov ebp, dword [esp + 0xb4]
or eax, 0xffffffff
jmp 0x534880
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.00536660
add esp, 0x1c
test eax, eax
je 0x534e2c
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
test eax, eax
js 0x534e18
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x534ec3
cmp word [edi], 0x29
jne 0x534ec3
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 0x532720
add edx, 0xc
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x84]
jae 0x534e54
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 0x534984
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 0x532720
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 0x5349be
and dword [esp + 0x2c], 0xfeffdb57
add edi, 2
mov dword [esp + 0x24], eax
mov ecx, edi
cmp ecx, dword [esp + 0x10]
jae 0x534a95
mov edx, ecx
nop word [eax + eax]
movzx eax, word [edi]
mov ecx, edx
cmp eax, 0x29
je 0x534a8d
cmp eax, 0x3a
je 0x534a8d
sub eax, 0x2d
lea edi, [edx + 2]
cmp eax, 0x4b
ja case.0x5349fd.46
movzx eax, byte [eax + 0x5350f0]
jmp dword [eax*4 + 0x5350cc]
cmp dword [esp + 0x24], ebp
je 0x534e3c
lea ebx, [esp + 0x60]
mov dword [esp + 0x24], ebp
mov ecx, edi
jmp 0x534a81
mov eax, dword [esp + 0xb4]
mov ecx, edi
or dword [ebx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x534a81
or dword [ebx], 8
mov ecx, edi
jmp 0x534a81
or dword [ebx], 0x400
mov ecx, edi
jmp 0x534a81
or dword [ebx], 0x2000
mov ecx, edi
jmp 0x534a81
or dword [ebx], 0x20
mov ecx, edi
jmp 0x534a81
or dword [ebx], 0x40000
mov ecx, edi
jmp 0x534a81
mov eax, dword [ebx]
mov ecx, edi
or eax, 0x80
mov dword [ebx], eax
cmp edi, dword [esp + 0x10]
jae 0x534a81
cmp word [edi], 0x78
jne 0x534a81
or eax, 0x1000000
lea ecx, [edi + 2]
mov dword [ebx], eax
mov edi, ecx
mov edx, ecx
cmp edi, dword [esp + 0x10]
jb 0x5349d0
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x60]
mov eax, ebp
and eax, 0x1000080
cmp eax, 0x80
je 0x534aa7
test dl, dl
jns 0x534aad
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 0x534ec3
mov ax, word [edi]
lea edi, [ecx + 2]
mov ebp, dword [esp + 0xb4]
cmp ax, 0x29
jne 0x534b03
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x38]
movzx ecx, ax
mov dword [esp + 0x14], ecx
cmp edx, dword [ebp + 0x14]
jbe 0x534afe
cmp word [edx - 0xc], cx
lea eax, [edx - 0xc]
jne 0x534afe
mov dword [esp + 0x38], eax
jmp 0x534b10
mov word [edx], cx
jmp 0x534b10
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 0x532719
mov dword [esi], 0x801b0000
mov dword [esi + 4], ebx
add esi, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
jmp 0x532720
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0xb4]
test edx, edx
je 0x534b6f
mov ecx, dword [esp + 0x14]
cmp word [edx], cx
jne 0x534b6f
test byte [edx + 6], 1
je 0x534b6f
movzx eax, word [edx + 4]
mov ecx, dword [ebp + 0x74]
cmp ecx, eax
jbe 0x534b68
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 0x532720
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], 1
test edx, edx
je 0x534c1f
mov ecx, dword [esp + 0x14]
cmp word [edx], cx
jne 0x534c1f
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 0x534beb
movzx edx, word [edx + 4]
cmp edx, dword [ebp + 0x74]
jbe 0x534be7
mov dword [ebp + 0x74], edx
mov edx, dword [esp + 0x38]
movzx eax, word [edx + 6]
jmp 0x534beb
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 0x534c05
mov dword [esi], 0x80190000
add esi, 4
cmp edx, dword [ebp + 0x14]
jne 0x534c12
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x534c26
sub edx, 0xc
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], edx
jmp 0x534c26
mov ebp, dword [esp + 0xb4]
mov edx, dword [esp + 0x14]
test dx, dx
je 0x534e5e
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 0x532719
mov dword [esi], ebx
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], 1
jmp 0x53270e
mov ecx, 0x8c
jmp 0x534ecf
mov edi, dword [esp + 0x40]
mov ecx, 0xb0
add edi, 0xfffffffe
jmp 0x534ecf
mov ecx, 0x76
jmp 0x534ec8
mov ecx, 0x6d
sub edi, 2
jmp 0x534ec8
movzx eax, word [edi]
xor ecx, ecx
mov edi, dword [esp + 0x40]
add edi, 0xfffffffe
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x534ec8
mov ecx, 0x71
sub edi, 2
jmp 0x534ec8
mov ebp, dword [esp + 0xb4]
mov edi, dword [esp + 0xa8]
jmp 0x534ecf
mov edi, dword [esp + 0xa8]
mov ecx, 0x6b
sub edi, 2
jmp 0x534ecf
mov ecx, 0xab
mov edi, dword [esp + 0xa8]
jmp 0x534ecf
mov edi, dword [esp + 0xa8]
mov ecx, 0x96
jmp 0x534ecf
mov ebp, dword [esp + 0xb4]
mov ecx, 0x96
jmp 0x534ecf
mov ecx, 0x6c
sub edi, 2
jmp 0x534ec8
mov ecx, 0x6a
jmp 0x534ecf
cmp edx, 0x80270000
je 0x534d4c
mov ecx, 0x80
cmp edx, 0x80280000
jne 0x534ec8
mov ecx, 0xc6
jmp 0x534ec8
mov ebp, dword [esp + 0xb4]
mov ecx, 0xc3
jmp 0x534ecf
mov ecx, 0xa6
jmp 0x534ec8
mov ecx, 0x8d
jmp 0x534ecf
mov ecx, 0x9e
jmp 0x534ec8
mov ecx, 0xb5
mov edi, edx
jmp 0x534ec8
mov ecx, 0x8a
jmp 0x534ec8
mov ecx, 0x8b
jmp 0x534ec8
mov ecx, 0x73
jmp 0x534ecf
mov ecx, 0xb3
jmp 0x534ec8
mov ecx, 0x7c
jmp 0x534ecf
mov edi, dword [esp + 0xa8]
mov ecx, 0x8f
jmp 0x534ec8
mov edi, dword [esp + 0xa8]
mov ecx, 0xa5
jmp 0x534ec8
mov edi, dword [esp + 0xa8]
mov ecx, 0x79
jmp 0x534ecf
mov edi, dword [esp + 0xa8]
mov ecx, 0x95
jmp 0x534ecf
mov edi, dword [esp + 0xa8]
mov ecx, 0xc5
jmp 0x534ecf
mov ecx, 0x73
sub edi, 2
jmp 0x534ec8
mov ebp, dword [esp + 0xb4]
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x28]
jmp 0x534ecf
mov ecx, 0xc2
mov edi, edx
jmp 0x534ec8
mov ecx, 0x6f
mov edi, edx
jmp 0x534ec8
mov ecx, 0xb8
jmp 0x534ec8
mov ecx, 0x7a
sub edi, 2
jmp 0x534ec8
mov ecx, 0x77
jmp 0x534ecf
cmp dword [esp + 0x70], 0
je 0x53263c
mov ecx, 0xa0
jmp 0x534ec8
test byte [esp + 0x78], 4
je 0x534e98
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [esp + 0x8c]
jb 0x534ea8
mov ecx, 0xa3
jmp 0x534ec8
cmp word [esp + 0x14], 0
mov dword [ecx], SysReAllocString
jne 0x534ec3
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