Function at 0x535200
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x577968
mov eax, dword fs:[0]
push eax
sub esp, 0x110
mov eax, dword [0x5d52e0]
xor eax, esp
mov dword [esp + 0x108], eax
push ebx
push esi
push edi
mov eax, dword [0x5d52e0]
xor eax, esp
push eax
lea eax, [esp + 0x120]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [edi + 0x20]
push 1
mov dword [esp + 0x1c], edi
call fcn.00411cc0
mov ebx, dword [edi + 0x20]
lea ecx, [esp + 0x98]
mov dword [esp + 0x8c], eax
call fcn.00539540
xor eax, eax
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov byte [esp + 0x128], 1
mov ecx, dword [edi + 0x20]
cmp dword [edi + 0x24], eax
mov ebx, dword [sym.imp.USER32.dll_MapDialogRect]
lea edx, [esp + 0xc0]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xcc], eax
mov eax, dword [ecx + 0x20]
push edx
push eax
jle 0x535474
mov dword [esp + 0xd0], 0x7d
call ebx
mov eax, dword [esp + 0xc8]
sub eax, dword [esp + 0xc0]
mov dword [esp + 0x50], 0xdc
cmp eax, 0xdc
jl 0x5352f8
mov dword [esp + 0x50], eax
lea eax, [esp + 0x1c]
call fcn.00403af0
mov esi, dword [esp + 0x20]
test esi, esi
je 0x53530f
mov ecx, dword [esp + 0x50]
mov dword [esi], ecx
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0x20]
lea edx, [esp + 0xc0]
xor ecx, ecx
push edx
add esi, 4
push eax
mov dword [esp + 0x28], esi
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], 0x91
mov dword [esp + 0xd4], ecx
call ebx
mov eax, dword [esp + 0xc8]
sub eax, dword [esp + 0xc0]
mov dword [esp + 0x2c], 0xff
cmp eax, 0xff
jl 0x53536a
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ecx
cmp edx, esi
jae 0x5353b3
mov eax, edx
cmp dword [esp + 0x1c], eax
ja 0x5353b3
mov ebx, edx
sub ebx, dword [esp + 0x1c]
sar ebx, 2
cmp esi, dword [esp + 0x24]
jne 0x53539e
lea eax, [esp + 0x1c]
call fcn.00403af0
mov esi, dword [esp + 0x20]
test esi, esi
je 0x5353ab
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + ebx*4]
mov dword [esi], edx
mov ebx, dword [sym.imp.USER32.dll_MapDialogRect]
jmp 0x5353d0
cmp esi, dword [esp + 0x24]
jne 0x5353c6
lea eax, [esp + 0x1c]
call fcn.00403af0
mov esi, dword [esp + 0x20]
test esi, esi
je 0x5353d0
mov eax, dword [esp + 0x2c]
mov dword [esi], eax
mov eax, dword [edi + 0x20]
mov edx, dword [eax + 0x20]
xor ecx, ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xcc], ecx
lea ecx, [esp + 0xc0]
push ecx
add esi, 4
push edx
mov dword [esp + 0x28], esi
mov dword [esp + 0xd0], 0x50
call ebx
mov eax, dword [esp + 0xc8]
sub eax, dword [esp + 0xc0]
mov ebx, 0x8c
cmp eax, 0x8c
jl 0x535426
mov ebx, eax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ebx
cmp eax, esi
jae 0x53560d
mov ecx, eax
cmp dword [esp + 0x1c], ecx
ja 0x53560d
mov ebx, eax
sub ebx, dword [esp + 0x1c]
sar ebx, 2
cmp esi, dword [esp + 0x24]
jne 0x53545e
lea eax, [esp + 0x1c]
call fcn.00403af0
mov esi, dword [esp + 0x20]
test esi, esi
je 0x535626
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + ebx*4]
mov dword [esi], eax
jmp 0x535626
mov dword [esp + 0xd0], 0x5b
call ebx
mov eax, dword [esp + 0xc8]
sub eax, dword [esp + 0xc0]
mov dword [esp + 0x50], 0xa0
cmp eax, 0xa0
jl 0x5354a2
mov dword [esp + 0x50], eax
lea eax, [esp + 0x1c]
call fcn.00403af0
mov esi, dword [esp + 0x20]
test esi, esi
je 0x5354b9
mov ecx, dword [esp + 0x50]
mov dword [esi], ecx
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0x20]
lea edx, [esp + 0xc0]
xor ecx, ecx
push edx
add esi, 4
push eax
mov dword [esp + 0x28], esi
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], 0x66
mov dword [esp + 0xd4], ecx
call ebx
mov eax, dword [esp + 0xc8]
sub eax, dword [esp + 0xc0]
mov dword [esp + 0x2c], 0xb4
cmp eax, 0xb4
jl 0x535514
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ecx
cmp edx, esi
jae 0x53555d
mov eax, edx
cmp dword [esp + 0x1c], eax
ja 0x53555d
mov ebx, edx
sub ebx, dword [esp + 0x1c]
sar ebx, 2
cmp esi, dword [esp + 0x24]
jne 0x535548
lea eax, [esp + 0x1c]
call fcn.00403af0
mov esi, dword [esp + 0x20]
test esi, esi
je 0x535555
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + ebx*4]
mov dword [esi], edx
mov ebx, dword [sym.imp.USER32.dll_MapDialogRect]
jmp 0x53557a
cmp esi, dword [esp + 0x24]
jne 0x535570
lea eax, [esp + 0x1c]
call fcn.00403af0
mov esi, dword [esp + 0x20]
test esi, esi
je 0x53557a
mov eax, dword [esp + 0x2c]
mov dword [esi], eax
mov eax, dword [edi + 0x20]
mov edx, dword [eax + 0x20]
xor ecx, ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xcc], ecx
lea ecx, [esp + 0xc0]
push ecx
add esi, 4
push edx
mov dword [esp + 0x28], esi
mov dword [esp + 0xd0], 0x44
call ebx
mov eax, dword [esp + 0xc8]
sub eax, dword [esp + 0xc0]
mov ebx, 0x78
cmp eax, 0x78
jl 0x5355ce
mov ebx, eax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ebx
cmp eax, esi
jae 0x53560d
mov ecx, eax
cmp dword [esp + 0x1c], ecx
ja 0x53560d
mov ebx, eax
sub ebx, dword [esp + 0x1c]
sar ebx, 2
cmp esi, dword [esp + 0x24]
jne 0x5355fe
lea eax, [esp + 0x1c]
call fcn.00403af0
mov esi, dword [esp + 0x20]
test esi, esi
je 0x535626
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + ebx*4]
mov dword [esi], eax
jmp 0x535626
cmp esi, dword [esp + 0x24]
jne 0x535620
lea eax, [esp + 0x1c]
call fcn.00403af0
mov esi, dword [esp + 0x20]
test esi, esi
je 0x535626
mov dword [esi], ebx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
push ecx
push edx
lea eax, [esp + 0x24]
add esi, 4
push eax
lea edx, [esp + 0x68]
mov ecx, edi
mov dword [esp + 0x2c], esi
call fcn.00534510
mov esi, dword [esp + 0x5c]
mov eax, dword [edi + 0x24]
mov dword [esp + 0x34], esi
cmp esi, eax
jg 0x53565a
mov dword [esp + 0x34], eax
xor ebx, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
lea ecx, [esp + 0xc0]
mov byte [esp + 0x128], 2
call fcn.0040aec0
mov eax, dword [esp + 0xc4]
cmp eax, ebx
je 0x535699
mov ecx, dword [esp + 0x60]
mov dword [eax], esi
mov dword [eax + 4], ecx
mov ebx, dword [esp + 0x20]
add eax, 8
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x1c]
mov ecx, ebx
sub ecx, eax
sar ecx, 2
mov dword [esp + 0x2c], ecx
dec ecx
imul ecx, dword [esp + 0x40]
cmp eax, ebx
je 0x5356c9
add ecx, dword [eax]
add eax, 4
cmp eax, ebx
jne 0x5356c0
cmp ecx, dword [esp + 0x34]
je 0x5356f4
test ecx, ecx
je 0x5356f4
mov esi, dword [esp + 0x1c]
cmp esi, ebx
je 0x5356f4
jmp 0x5356e0
mov eax, dword [esi]
imul eax, dword [esp + 0x34]
cdq
idiv ecx
add esi, 4
mov dword [esi - 4], eax
cmp esi, ebx
jne 0x5356e0
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov byte [esp + 0x128], 3
mov eax, dword [edi + 0x40]
cmp eax, esi
jl 0x53572f
add eax, dword [esp + 0x40]
jmp 0x535731
neg eax
mov dword [esp + 0x64], eax
mov eax, dword [edi + 0x44]
cmp eax, esi
jl 0x53574d
mov ecx, dword [esp + 0x44]
add ecx, ecx
sub ecx, dword [esp + 0x8c]
add ecx, eax
jmp 0x535751
neg eax
mov ecx, eax
mov eax, dword [edi]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x30], eax
cmp eax, dword [edi + 4]
je 0x536386
jmp 0x535770
xor ecx, ecx
cmp dword [eax + 0x10], 0xfa0
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
jne 0x536306
mov edi, dword [esp + 0x30]
mov ecx, dword [edi]
cmp ecx, 0xd57
jne 0x535a98
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
cmp esi, eax
je 0x5357bd
push 0
push eax
push esi
call fcn.004ffc70
add esp, 0xc
mov dword [esp + 0x20], esi
mov edx, dword [edi + 0x1c]
sub edx, dword [edi + 0x18]
lea esi, [esp + 0x1c]
sar edx, 2
push edx
call fcn.00403cd0
mov eax, dword [edi + 0x18]
cmp eax, dword [edi + 0x1c]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
je 0x535960
mov eax, dword [esp + 0x4c]
mov esi, dword [eax]
test esi, esi
jns 0x5357f8
mov dword [esp + 0x14], esi
jmp 0x535867
xor eax, eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
lea ecx, [esi*4]
mov eax, 0x92492493
imul ecx
mov eax, dword [esp + 0x18]
add edx, ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x100], ecx
mov ecx, dword [eax + 0x20]
lea edx, [esp + 0xf8]
push edx
mov edx, dword [ecx + 0x20]
push edx
mov dword [esp + 0x10c], 0
call dword [sym.imp.USER32.dll_MapDialogRect]
mov eax, dword [esp + 0x100]
sub eax, dword [esp + 0xf8]
mov dword [esp + 0x14], esi
cmp esi, eax
jg 0x535867
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], eax
cmp ecx, ebx
jae 0x5358e6
mov edx, ecx
cmp edi, edx
ja 0x5358e6
mov ecx, dword [esp + 0x24]
sub edx, edi
sar edx, 2
mov dword [esp + 0x14], edx
cmp ebx, ecx
jne 0x5358db
mov eax, ebx
sub eax, edi
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x536431
sub ecx, edi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x5358db
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x5358bd
xor ecx, ecx
jmp 0x5358bf
add ecx, edx
cmp ecx, eax
jae 0x5358c5
mov ecx, eax
push ecx
lea esi, [esp + 0x20]
call fcn.00403cd0
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
test ebx, ebx
je 0x535941
mov eax, dword [edi + edx*4]
mov dword [ebx], eax
jmp 0x535941
mov ecx, dword [esp + 0x24]
cmp ebx, ecx
jne 0x535937
mov eax, ebx
sub eax, edi
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x536431
sub ecx, edi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x535937
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x53591d
xor ecx, ecx
jmp 0x53591f
add ecx, edx
cmp ecx, eax
jae 0x535925
mov ecx, eax
push ecx
lea esi, [esp + 0x20]
call fcn.00403cd0
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
test ebx, ebx
je 0x535941
mov ecx, dword [esp + 0x14]
mov dword [ebx], ecx
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
add eax, 4
add ebx, 4
mov dword [esp + 0x20], ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx + 0x1c]
jne 0x5357e8
mov eax, ebx
sub eax, edi
sar eax, 2
lea esi, [eax - 1]
imul esi, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], esi
mov eax, edi
cmp edi, ebx
je 0x535989
lea ecx, [ecx]
add esi, dword [eax]
add eax, 4
cmp eax, ebx
jne 0x535980
cmp esi, dword [esp + 0x34]
je 0x5359b4
test esi, esi
je 0x5359b4
mov ecx, edi
cmp edi, ebx
je 0x5359b4
lea esp, [esp]
mov eax, dword [ecx]
imul eax, dword [esp + 0x34]
cdq
idiv esi
add ecx, 4
mov dword [ecx - 4], eax
cmp ecx, ebx
jne 0x5359a0
xor esi, esi
xor ecx, ecx
mov eax, edi
cmp edi, ebx
je 0x535a81
add ecx, dword [eax]
add eax, 4
cmp eax, ebx
jne 0x5359c2
cmp ecx, esi
jge 0x535a81
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x20]
lea eax, [esp + 0x108]
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], esi
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], esi
mov edx, dword [ecx + 0x20]
push eax
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [esp + 0x110]
sub edi, dword [esp + 0x108]
mov ecx, dword [ebx + 0x20]
xor eax, eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
push 0x17
lea eax, [esp + 0xd4]
push eax
push 1
mov dword [esp + 0x40], edi
call fcn.004105ff
cmp dword [esp + 0xdc], esi
jle 0x536364
push 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub edi, eax
mov dword [esp + 0x34], edi
jmp 0x536364
cmp dword [esp + 0x34], ecx
jge 0x536364
add ecx, dword [esp + 0x4c]
mov dword [esp + 0x34], ecx
jmp 0x536364
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x6c]
xor eax, eax
cmp ebx, edx
setle al
dec eax
and eax, edx
cmp ebx, eax
jbe 0x53643b
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + eax*4]
mov dword [esp + 0x4c], esi
test edx, edx
je 0x535ac6
dec ebx
cmp edx, ebx
jne 0x535ae2
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x7c]
sar eax, 2
imul eax, dword [esp + 0x40]
neg eax
lea esi, [esi + eax*2]
mov dword [esp + 0x4c], esi
cmp ecx, 0x339f
jne 0x535b10
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x28]
push edx
push esi
lea eax, [esp + 0xb0]
push eax
mov eax, edi
call fcn.00538bb0
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
mov dword [esp + 0x3c], ecx
jmp 0x535b82
cmp ecx, 0xd58
je 0x535b4e
cmp ecx, 0xd59
jne 0x535b2e
mov edx, dword [edi + 0x1c]
sub edx, dword [edi + 0x18]
and edx, 0xfffffffc
cmp edx, 0x20
je 0x535b4e
mov eax, dword [esp + 0x78]
push eax
push esi
lea ecx, [esp + 0xc0]
push ecx
mov eax, edi
call fcn.00538bb0
mov edx, dword [eax + 4]
mov ebx, dword [eax]
mov dword [esp + 0x3c], edx
jmp 0x535b82
mov eax, dword [esp + 0x78]
push eax
push esi
lea ecx, [esp + 0xb8]
push ecx
mov eax, edi
call fcn.00538bb0
mov edx, dword [eax]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], edx
fild dword [esp + 0x38]
mov dword [esp + 0x3c], eax
fmul qword [ecx + 0x60]
call fcn.00505d50
mov ebx, eax
cmp dword [edi], 0xd70
mov dword [esp + 0x38], ebx
jne 0x535b99
mov eax, dword [edi + 0x38]
test eax, eax
jle 0x535b99
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x6c], 0
jne 0x535bf3
cmp ebx, esi
jne 0x535bf3
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 4]
lea eax, [edi + 0x60]
cmp eax, ecx
je 0x535bf7
mov esi, 0xfa0
cmp dword [eax + 0x10], esi
je 0x535bc3
add eax, 0x60
cmp eax, ecx
jne 0x535bb7
cmp eax, ecx
je 0x535bf7
cmp dword [eax], 0xd48
jne 0x535bf7
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x34]
sar eax, 2
imul eax, dword [esp + 0x40]
lea eax, [eax + eax*2]
add eax, eax
sub ebx, eax
mov dword [esp + 0x38], ebx
jmp 0x535bf7
mov edx, dword [esp + 0x18]
cmp dword [edi], 0xd69
jne 0x535c4b
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
sub ecx, eax
sar ecx, 2
cmp ecx, 2
jbe 0x53643b
mov ecx, dword [eax + 8]
mov esi, dword [edi + 0x28]
cmp ecx, 1
jge 0x535c23
mov ecx, 1
mov eax, ebx
cdq
idiv ecx
mov edx, dword [esi + 0x7c]
neg edx
sbb edx, edx
and edx, 0x1e
mov esi, 0xff
sub esi, edx
cmp eax, esi
jle 0x535c43
mov eax, ebx
cdq
inc ecx
idiv ecx
add dword [esp + 0x3c], eax
mov edx, dword [esp + 0x18]
mov eax, dword [edi]
cmp eax, 0xd59
je 0x535c6d
cmp eax, 0xd5b
je 0x535c6d
cmp eax, 0xd5c
je 0x535c6d
cmp eax, 0xd68
jne 0x535ce6
mov eax, dword [edx]
cmp edi, eax
je 0x535caf
lea esi, [edi - 0x60]
cmp esi, eax
je 0x535caf
mov eax, dword [esi]
cmp eax, 0xd4f
je 0x535c91
cmp eax, 0xd6e
je 0x535c91
cmp eax, 0xd6f
jne 0x535caf
mov edi, esi
call fcn.0040b000
add dword [esp + 0x64], eax
call fcn.0040b000
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
sub ebx, eax
mov dword [esp + 0x38], ebx
lea eax, [edi + 0x60]
cmp eax, dword [edx + 4]
je 0x535ce6
mov ecx, dword [eax]
cmp ecx, 0xd4f
je 0x535cd1
cmp ecx, 0xd6e
je 0x535cd1
cmp ecx, 0xd6f
jne 0x535ce6
mov edi, eax
call fcn.0040b000
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
sub ebx, eax
mov dword [esp + 0x38], ebx
mov eax, dword [edx]
cmp edi, eax
je 0x535d0f
cmp dword [edi], 0xd58
je 0x535d0f
cmp edi, eax
je 0x535d0f
cmp dword [edi - 0x60], 0xd49
jne 0x535d0f
mov eax, dword [edi - 0x4c]
imul eax, dword [esp + 0x40]
sub ebx, eax
mov dword [esp + 0x38], ebx
cmp dword [edi], 0xd4a
jne 0x535e98
xor eax, eax
xor esi, esi
xor edi, edi
mov byte [esp + 0x4b], 0
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov edx, dword [esp + 0x18]
mov byte [esp + 0x128], 4
mov ebx, dword [esp + 0x30]
cmp ebx, dword [edx + 4]
je 0x535e62
mov edi, edi
cmp dword [ebx + 0x10], 0xfa0
jne 0x535e42
mov ecx, dword [ebx]
cmp ecx, 0xd48
je 0x535e50
cmp ecx, 0xd5a
jne 0x535da8
mov byte [esp + 0x4b], 1
mov edx, dword [esp + 0x2c]
xor ecx, ecx
cmp edx, esi
setle cl
dec ecx
and ecx, esi
cmp edx, ecx
jbe 0x53643b
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + ecx*4]
test esi, esi
je 0x535dd2
mov edx, dword [esp + 0x2c]
dec edx
cmp esi, edx
jne 0x535de1
sub eax, edi
sar eax, 2
imul eax, dword [esp + 0x40]
neg eax
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0xe4]
push eax
push ecx
lea ecx, [esp + 0x64]
push ecx
mov eax, ebx
call fcn.00538bb0
mov ecx, dword [ebx + 0x34]
mov eax, dword [esp + 0x5c]
cmp eax, ecx
jge 0x535e07
mov eax, ecx
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x64]
push ecx
push edx
push eax
mov eax, dword [esp + 0x28]
push ebx
push eax
lea esi, [esp + 0xe8]
call fcn.00533d50
mov eax, dword [esp + 0xec]
mov edi, dword [esp + 0xe8]
mov esi, dword [esp + 0xd8]
mov edx, dword [esp + 0x18]
add ebx, 0x60
cmp ebx, dword [edx + 4]
jne 0x535d80
jmp 0x535e62
cmp byte [esp + 0x4b], 0
je 0x535e62
mov ecx, dword [esp + 0x40]
add dword [esp + 0xd0], ecx
mov eax, dword [esp + 0x40]
lea ebx, [eax + eax]
sub ebx, dword [esp + 0xd0]
sub ebx, dword [esp + 0x64]
add ebx, dword [edx + 0x40]
mov byte [esp + 0x128], 3
add ebx, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
test edi, edi
je 0x535e94
push edi
call fcn.0040c6ec
add esp, 4
mov edi, dword [esp + 0x30]
mov eax, dword [edi]
cmp eax, 0xd50
je 0x535eac
cmp eax, 0xd52
jne 0x536037
mov edi, dword [esp + 0x34]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x18]
mov byte [esp + 0x128], 5
mov ebx, dword [esp + 0x30]
cmp ebx, dword [eax + 4]
je 0x535ff7
mov esi, dword [esp + 0x2c]
xor eax, eax
cmp esi, edx
setle al
dec eax
and eax, edx
cmp esi, eax
jbe 0x53643b
cmp dword [ebx + 0x10], 0xfa0
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + eax*4]
jne 0x535fe0
mov eax, dword [ebx]
cmp eax, 0xd50
je 0x535f4a
cmp eax, 0xd52
jne 0x535f4e
inc dword [esp + 0x14]
cmp eax, 0xd51
je 0x535f5c
cmp eax, 0xd53
jne 0x535f60
dec dword [esp + 0x14]
cmp eax, 0xd51
je 0x535f6e
cmp eax, 0xd53
jne 0x535f79
cmp dword [esp + 0x14], 0
je 0x535ff0
mov edx, dword [esp + 0xe4]
push edx
push ecx
lea eax, [esp + 0x98]
push eax
mov eax, ebx
call fcn.00538bb0
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0xd0]
add ecx, ecx
sub eax, ecx
cmp edi, eax
jg 0x535fa9
mov edi, eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push ebx
push eax
lea esi, [esp + 0xe8]
call fcn.00533d50
mov edx, dword [esp + 0xd8]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
add ebx, 0x60
cmp ebx, dword [ecx + 4]
jne 0x535f14
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x7c]
sar eax, 2
imul eax, dword [esp + 0x40]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xd4]
add edx, edx
sub edi, edx
mov ebx, edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x128], 3
test ecx, ecx
je 0x536037
push ecx
call fcn.0040c6ec
add esp, 4
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x34]
cmp ebx, eax
jge 0x536048
mov ebx, eax
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 0x30]
mov ecx, dword [edx]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x14], ecx
add ecx, 0xfffff2b5
mov eax, esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edi
cmp ecx, 0x25
ja case.0x53607a.3405
movzx ecx, byte [ecx + 0x536460]
jmp dword [ecx*4 + 0x536448]
mov edx, esi
sub edx, dword [esp + 0x40]
sub edx, 2
mov dword [esp + 0x54], edx
jmp case.0x53607a.3405
mov eax, dword [esp + 0x78]
test eax, eax
jle case.0x53607a.3405
sub eax, dword [esp + 0x3c]
cdq
sub eax, edx
sar eax, 1
add eax, edi
mov dword [esp + 0x58], eax
jmp case.0x53607a.3405
mov eax, dword [esp + 0x78]
test eax, eax
jle case.0x53607a.3405
add eax, 0xfffffff7
cdq
sub eax, edx
sar eax, 1
add eax, edi
mov dword [esp + 0x58], eax
jmp case.0x53607a.3405
mov ecx, dword [esp + 0x14]
cmp ecx, 0xd6e
jne 0x5360ef
mov eax, dword [esp + 0x4c]
sub eax, ebx
cdq
sub eax, edx
mov edx, dword [esp + 0x30]
sar eax, 1
jmp 0x5360fd
cmp ecx, 0xd6f
jne 0x536103
mov eax, dword [esp + 0x4c]
sub eax, ebx
add eax, esi
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
cmp edx, ecx
je case.0x53607a.3405
add edx, 0xffffffa0
cmp edx, ecx
je case.0x53607a.3405
mov ecx, dword [edx]
cmp ecx, 0xd59
je 0x536136
cmp ecx, 0xd5b
je 0x536136
cmp ecx, 0xd5c
je 0x536136
cmp ecx, 0xd68
jne case.0x53607a.3405
sub eax, dword [esp + 0x40]
mov dword [esp + 0x54], eax
jmp case.0x53607a.3405
lea eax, [edx + 0x60]
mov edx, dword [esp + 0x18]
cmp eax, dword [edx + 4]
je case.0x53607a.3405
cmp dword [eax], 0xd48
je case.0x53607a.3405
sub esi, dword [esp + 0x40]
mov dword [esp + 0x64], esi
cmp dword [esp + 0x14], 0xd48
jne 0x536182
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax]
sub esi, ecx
mov eax, esi
sub eax, dword [edx + 0x40]
cmp dword [esp + 0x34], eax
jg 0x536182
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push edi
push ebx
push edx
push eax
lea esi, [esp + 0x7c]
call fcn.00533d50
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
cmp eax, 0xd50
je 0x5361bd
cmp eax, 0xd52
jne 0x5362d6
mov edx, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
lea eax, [esp + 0x38]
cmp eax, edx
jae 0x536264
mov ecx, eax
cmp esi, ecx
ja 0x536264
mov ecx, dword [esp + 0xc8]
mov ebx, eax
sub ebx, esi
sar ebx, 3
cmp edx, ecx
jne 0x536245
mov eax, edx
sub eax, esi
sar eax, 3
cmp eax, 0x1ffffffe
ja 0x536431
sub ecx, esi
inc eax
sar ecx, 3
cmp eax, ecx
jbe 0x536245
mov edx, ecx
shr edx, 1
mov esi, 0x1fffffff
sub esi, edx
cmp esi, ecx
jae 0x536222
xor ecx, ecx
jmp 0x536224
add ecx, edx
cmp ecx, eax
jae 0x53622a
mov ecx, eax
push ecx
lea ecx, [esp + 0xc4]
call fcn.00401bc0
mov edx, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
test edx, edx
je 0x536255
mov eax, dword [esi + ebx*8]
mov dword [edx], eax
mov ecx, dword [esi + ebx*8 + 4]
mov dword [edx + 4], ecx
add edx, 8
mov dword [esp + 0xc4], edx
jmp 0x5362e4
mov ecx, dword [esp + 0xc8]
cmp edx, ecx
jne 0x5362c1
mov eax, edx
sub eax, esi
sar eax, 3
cmp eax, 0x1ffffffe
ja 0x536431
sub ecx, esi
inc eax
sar ecx, 3
cmp eax, ecx
jbe 0x5362c1
mov edx, ecx
shr edx, 1
mov esi, 0x1fffffff
sub esi, edx
cmp esi, ecx
jae 0x53629e
xor ecx, ecx
jmp 0x5362a0
add ecx, edx
cmp ecx, eax
jae 0x5362a6
mov ecx, eax
push ecx
lea ecx, [esp + 0xc4]
call fcn.00401bc0
mov edx, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
test edx, edx
je 0x5362ca
mov dword [edx], ebx
mov dword [edx + 4], edi
add edx, 8
mov dword [esp + 0xc4], edx
jmp 0x5362e4
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
cmp eax, 0xd51
je 0x5362f8
cmp eax, 0xd53
jne 0x536306
cmp esi, edx
je 0x536306
sub edx, 8
mov dword [esp + 0xc4], edx
mov esi, dword [esp + 0x30]
cmp dword [esi + 0x28], 0
je 0x536322
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x58]
mov ecx, esi
call fcn.005388b0
jmp 0x536328
and dword [esi + 0x2c], 0xfffffffe
xor eax, eax
add dword [esp + 0x50], eax
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x58]
mov ecx, esi
sub ecx, dword [ebx]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ebx + 0x3c]
jne 0x536364
mov ecx, dword [esp + 0x98]
mov eax, ebx
mov dword [eax + 0x34], 0
sub edi, dword [ecx + 4]
mov dword [eax + 0x38], edi
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
add eax, 0x60
mov dword [esp + 0x30], eax
cmp eax, dword [edi + 4]
jne 0x535770
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x68]
xor esi, esi
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je 0x53639c
lea ecx, [ecx]
and dword [eax + 0x2c], 0xfffffffe
add eax, 0x60
cmp eax, dword [edi + 4]
jne 0x536390
cmp dword [esp + 0x50], esi
jle 0x5363a6
mov byte [edi + 0x4a], 1
mov edx, dword [edi + 0x40]
add edx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
lea edx, [eax + edx*2]
mov eax, dword [edi + 0x44]
add eax, ecx
add eax, dword [esp + 0x8c]
mov dword [edi + 0x2c], edx
mov dword [edi + 0x30], eax
cmp ebx, esi
je 0x5363d3
push ebx
call fcn.0040c6ec
add esp, 4
cmp dword [esp + 0xc0], esi
je 0x5363ec
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.0040c6ec
add esp, 4
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x5363fd
push eax
call fcn.0040c6ec
add esp, 4
mov edx, dword [esp + 0x98]
push edx
call fcn.0040c6ec
add esp, 4
mov ecx, dword [esp + 0x120]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x108]
xor ecx, esp
call fcn.004ff57c
mov esp, ebp
pop ebp
ret
push str.vector_T__too_long
call fcn.0051b7f8
push str.invalid_vector_T__subscript
call fcn.0051b845
lea ecx, [ecx]
xchg ebx, eax
pushal
push ebx
add byte [ebx - 0x2dffaca0], dh
pushal
push ebx
add byte [eax + 0x61], al
push ebx
add byte [ecx + 0x5c005360], al
popal
push ebx
add byte [eax], al
add dword [0x5050205], eax
add eax, 84215045
add eax, 328963
add eax, 84215045
add eax, 84215045
add eax, 84215044
add eax, 33686789
add esp, ecx
int3