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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5774d3
mov eax, dword fs:[0]
push eax
sub esp, 0x100
mov eax, dword [0x5d52e0]
xor eax, esp
mov dword [esp + 0xf8], eax
push ebx
push esi
push edi
mov eax, dword [0x5d52e0]
xor eax, esp
push eax
lea eax, [esp + 0x110]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov esi, ecx
mov ecx, dword [esi + 0x20]
mov edi, edx
push 1
mov dword [esp + 0x24], esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x48], ebx
call fcn.00411cc0
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x48]
push eax
mov ecx, ebx
call fcn.0040be10
xor ecx, ecx
mov dword [esp + 0x118], ecx
fld1
mov dword [edi], ecx
mov dword [edi + 4], ecx
fst qword [esi + 0x60]
mov edi, dword [ebx + 4]
fstp qword [esp + 0xa4]
sub edi, dword [ebx]
mov eax, dword [esi + 0x24]
sar edi, 2
lea ebx, [esp + 0xa4]
lea esi, [esp + 0x94]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ecx
call fcn.0040b5a0
xor esi, esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x34]
mov byte [esp + 0x118], 2
call fcn.0040aec0
cmp dword [esp + 0x38], esi
je 0x534612
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx]
mov eax, dword [esp + 0x38]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
add dword [esp + 0x38], 8
xor edx, edx
or edi, 0xffffffff
mov byte [esp + 0x17], 0
mov dword [esp + 0x60], edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov esi, dword [esp + 0x20]
mov byte [esp + 0x118], 3
mov eax, dword [esi + 0x40]
cmp eax, edx
jl 0x53465f
add eax, dword [ebp + 0xc]
jmp 0x534661
neg eax
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x44]
cmp eax, edx
jl 0x534680
mov ecx, dword [ebp + 0x10]
add ecx, ecx
sub ecx, dword [esp + 0x8c]
add ecx, eax
mov dword [esp + 0x68], ecx
jmp 0x534686
neg eax
mov dword [esp + 0x68], eax
mov eax, dword [esi]
mov dword [esp + 0x28], eax
cmp eax, dword [esi + 4]
je 0x535010
mov edx, dword [esp + 0x28]
cmp dword [edx + 0x10], 0xfa0
jne 0x534ff0
mov eax, dword [esp + 0x4c]
mov edi, edx
mov esi, dword [edi]
cmp esi, 0xd57
jne 0x5349b2
mov esi, dword [esp + 0x48]
cmp esi, eax
je 0x5346d2
push 0
push eax
push esi
call fcn.004ffc70
add esp, 0xc
mov dword [esp + 0x4c], esi
mov eax, dword [edi + 0x1c]
sub eax, dword [edi + 0x18]
lea esi, [esp + 0x48]
sar eax, 2
push eax
call fcn.00403cd0
mov eax, dword [edi + 0x18]
cmp eax, dword [edi + 0x1c]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x24], eax
je 0x53487a
lea ecx, [ecx]
mov ecx, dword [esp + 0x24]
mov esi, dword [ecx]
test esi, esi
jns 0x534710
mov dword [esp + 0x18], esi
jmp 0x53477f
xor eax, eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
lea ecx, [esi*4]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xf0], eax
mov eax, dword [edx + 0x20]
lea ecx, [esp + 0xe8]
push ecx
mov ecx, dword [eax + 0x20]
push ecx
mov dword [esp + 0xfc], 0
call dword [sym.imp.USER32.dll_MapDialogRect]
mov eax, dword [esp + 0xf0]
sub eax, dword [esp + 0xe8]
mov dword [esp + 0x18], esi
cmp esi, eax
jg 0x53477f
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], edx
cmp eax, ebx
jae 0x534800
mov ecx, eax
cmp edi, ecx
ja 0x534800
mov ecx, dword [esp + 0x50]
mov edx, eax
sub edx, edi
sar edx, 2
mov dword [esp + 0x18], edx
cmp ebx, ecx
jne 0x5347f5
mov eax, ebx
sub eax, edi
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x535177
sub ecx, edi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x5347f5
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x5347d7
xor ecx, ecx
jmp 0x5347d9
add ecx, edx
cmp ecx, eax
jae 0x5347df
mov ecx, eax
push ecx
lea esi, [esp + 0x4c]
call fcn.00403cd0
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x18]
test ebx, ebx
je 0x53485b
mov edx, dword [edi + edx*4]
mov dword [ebx], edx
jmp 0x53485b
mov ecx, dword [esp + 0x50]
cmp ebx, ecx
jne 0x534851
mov eax, ebx
sub eax, edi
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x535177
sub ecx, edi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x534851
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x534837
xor ecx, ecx
jmp 0x534839
add ecx, edx
cmp ecx, eax
jae 0x53483f
mov ecx, eax
push ecx
lea esi, [esp + 0x4c]
call fcn.00403cd0
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
test ebx, ebx
je 0x53485b
mov eax, dword [esp + 0x18]
mov dword [ebx], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
add eax, 4
add ebx, 4
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x24], eax
cmp eax, dword [ecx + 0x1c]
jne 0x534700
xor esi, esi
mov eax, edi
cmp edi, ebx
je 0x53488b
add esi, dword [eax]
add eax, 4
cmp eax, ebx
jne 0x534882
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x24], 0
jle 0x5348d1
mov ecx, edi
cmp edi, ebx
je 0x5348d1
mov eax, ebx
sub eax, edi
sar eax, 2
dec eax
mov dword [esp + 0x24], eax
jmp 0x5348b0
mov edx, dword [ebp + 0xc]
imul edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x24]
sub eax, edx
imul eax, dword [ecx]
cdq
idiv esi
add ecx, 4
mov dword [ecx - 4], eax
cmp ecx, ebx
jne 0x5348b0
test esi, esi
jns 0x534991
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 0x20]
xor ebx, ebx
lea ecx, [esp + 0xf8]
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov eax, dword [edx + 0x20]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x100]
xor eax, eax
lea edx, [ecx + ecx]
mov ecx, dword [edi + 0x20]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
push 0x17
sub esi, edx
sub esi, dword [esp + 0xfc]
lea eax, [esp + 0xc4]
push eax
push 1
mov dword [esp + 0x28], esi
call fcn.004105ff
cmp dword [esp + 0xcc], ebx
jle 0x534ff0
push 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub esi, eax
mov dword [esp + 0x1c], esi
jmp 0x534ff0
cmp dword [esp + 0x1c], esi
jge 0x534ff0
mov eax, ebx
sub eax, edi
sar eax, 2
dec eax
imul eax, dword [ebp + 0xc]
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x534ff0
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x6c]
sub eax, edx
xor ecx, ecx
sar eax, 2
cmp eax, ebx
setle cl
dec ecx
and ecx, ebx
cmp eax, ecx
jbe 0x535183
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x18], ecx
test ebx, ebx
je 0x5349e1
dec eax
cmp ebx, eax
jne 0x5349fc
mov edx, dword [esp + 0x80]
sub edx, dword [esp + 0x7c]
sar edx, 2
imul edx, dword [ebp + 0xc]
neg edx
lea eax, [ecx + edx*2]
mov dword [esp + 0x18], eax
cmp esi, 0x339f
jne 0x534a29
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + 0x28]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0xc0]
push eax
mov eax, edi
call fcn.00538bb0
mov ecx, dword [eax + 4]
mov dword [esp + 0x30], ecx
jmp 0x534a4d
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0xb8]
push ecx
mov eax, edi
call fcn.00538bb0
mov edx, dword [eax + 4]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x30], edx
cmp dword [edi], 0xd70
mov ebx, dword [eax]
mov dword [esp + 0x2c], ebx
jne 0x534a66
mov eax, dword [edi + 0x38]
test eax, eax
jle 0x534a66
mov dword [esp + 0x30], eax
cmp dword [esp + 0x6c], 0
jne 0x534ae1
cmp ebx, dword [esp + 0x18]
jne 0x534ae1
mov ecx, dword [esi + 4]
lea eax, [edi + 0x60]
cmp eax, ecx
je 0x534ae1
mov edx, 0xfa0
cmp dword [eax + 0x10], edx
je 0x534a92
add eax, 0x60
cmp eax, ecx
jne 0x534a86
cmp eax, ecx
je 0x534ae1
cmp dword [eax], 0xd48
jne 0x534ae1
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jns 0x534abe
mov eax, dword [esp + 0x58]
test eax, eax
jle 0x534abc
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + ecx]
sub eax, edx
mov dword [esp + 0x1c], eax
mov ecx, eax
test ecx, ecx
jle 0x534ae5
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x7c]
mov ebx, ecx
sar eax, 2
imul eax, dword [ebp + 0xc]
lea eax, [eax + eax*2]
add eax, eax
sub ebx, eax
mov dword [esp + 0x2c], ebx
jmp 0x534ae5
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi]
cmp edx, 0xd69
jne 0x534b0c
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
sub edx, eax
sar edx, 2
cmp edx, 2
jbe 0x535183
mov eax, dword [eax + 8]
mov edx, dword [edi]
mov dword [esp + 0x60], eax
cmp dword [esp + 0x6c], 1
jne 0x534b45
cmp ebx, dword [esp + 0x18]
jne 0x534b45
cmp dword [edi - 0x60], 0xd5d
jne 0x534b45
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x7c]
mov ebx, ecx
sar eax, 2
imul eax, dword [ebp + 0xc]
lea eax, [eax + eax*2]
add eax, eax
sub ebx, eax
sub ebx, dword [esp + 0x64]
mov dword [esp + 0x2c], ebx
cmp edx, 0xd59
je 0x534b69
cmp edx, 0xd5b
je 0x534b69
cmp edx, 0xd5c
je 0x534b69
cmp edx, 0xd68
jne 0x534bdf
mov eax, dword [esi]
cmp edi, eax
je 0x534ba8
mov eax, dword [edi - 0x60]
lea esi, [edi - 0x60]
cmp eax, 0xd4f
je 0x534b8a
cmp eax, 0xd6e
je 0x534b8a
cmp eax, 0xd6f
jne 0x534ba4
mov edi, esi
call fcn.0040b000
add dword [esp + 0x64], eax
call fcn.0040b000
mov edi, dword [esp + 0x28]
sub ebx, eax
mov dword [esp + 0x2c], ebx
mov esi, dword [esp + 0x20]
lea eax, [edi + 0x60]
cmp eax, dword [esi + 4]
je 0x534bdf
mov ecx, dword [eax]
cmp ecx, 0xd4f
je 0x534bca
cmp ecx, 0xd6e
je 0x534bca
cmp ecx, 0xd6f
jne 0x534bdf
mov edi, eax
call fcn.0040b000
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
sub ebx, eax
mov dword [esp + 0x2c], ebx
mov eax, dword [esi]
cmp edi, eax
je 0x534c07
cmp dword [edi], 0xd58
je 0x534c07
cmp edi, eax
je 0x534c07
cmp dword [edi - 0x60], 0xd49
jne 0x534c07
mov ecx, dword [ebp + 0xc]
imul ecx, dword [edi - 0x4c]
sub ebx, ecx
mov dword [esp + 0x2c], ebx
mov edi, dword [edi]
cmp edi, 0xd4a
jne 0x534c16
mov byte [esp + 0x17], 1
cmp edi, 0xd50
je 0x534c2a
cmp edi, 0xd52
jne 0x534d6c
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], ecx
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x118], 4
mov edi, dword [esp + 0x28]
cmp edi, dword [ebx + 4]
je 0x534d2b
lea edx, [ecx + 1]
cmp dword [edi + 0x10], 0xfa0
jne 0x534d18
mov eax, dword [edi]
cmp eax, 0xd50
je 0x534ca8
cmp eax, 0xd52
jne 0x534cac
add dword [esp + 0x18], edx
cmp eax, 0xd51
je 0x534cba
cmp eax, 0xd53
jne 0x534cbe
sub dword [esp + 0x18], edx
cmp eax, 0xd51
je 0x534ccc
cmp eax, 0xd53
jne 0x534cd2
cmp dword [esp + 0x18], ecx
je 0x534d24
mov edx, dword [esp + 0xd4]
push edx
push 0
lea eax, [esp + 0xac]
push eax
mov eax, edi
call fcn.00538bb0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
push eax
push ecx
push edi
push ebx
lea esi, [esp + 0xd8]
call fcn.00533d50
mov edx, 1
xor ecx, ecx
add edi, 0x60
cmp edi, dword [ebx + 4]
jne 0x534c8b
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x1c]
sar eax, 2
imul eax, dword [ebp + 0xc]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xc4]
add edx, edx
sub ebx, edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], eax
mov byte [esp + 0x118], 3
test ecx, ecx
je 0x534d6c
push ecx
call fcn.0040c6ec
add esp, 4
cmp byte [esp + 0x17], 0
jne 0x534dd4
test ebx, ebx
jle 0x534dd4
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x34]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x24], eax
cmp ebx, eax
jge 0x534dd8
mov eax, dword [esp + 0x98]
fild dword [esp + 0x24]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x6c]
fidiv dword [esp + 0x2c]
sub eax, edx
sar eax, 3
cmp ecx, eax
jge 0x534dc0
cmp dword [esi + 0x24], 0
jle 0x534dc0
cmp eax, ecx
jbe 0x535181
fstp qword [edx + ecx*8]
jmp 0x534dd8
fcom qword [esi + 0x60]
fnstsw ax
test ah, 5
jp 0x534dcf
fstp st(0)
fld qword [esi + 0x60]
fstp qword [esi + 0x60]
jmp 0x534dd8
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edi, dword [ecx]
lea eax, [edi - 0xd4b]
cmp eax, 0x24
ja case.0x534df0.3403
movzx edx, byte [eax + 0x53519c]
jmp dword [edx*4 + 0x535190]
lea eax, [ecx + 0x60]
mov ecx, dword [esp + 0x64]
cmp eax, dword [esi + 4]
je 0x534e18
cmp dword [eax], 0xd48
je 0x534e18
sub ecx, dword [ebp + 0xc]
mov dword [esp + 0x64], ecx
jmp 0x534e18
mov ecx, dword [esp + 0x64]
cmp edi, 0xd48
jne 0x534e43
cmp byte [esp + 0x17], 0
jne 0x534e3e
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax]
mov eax, ecx
sub eax, edx
sub eax, dword [esi + 0x40]
cmp dword [esp + 0x1c], eax
jg 0x534e3e
mov dword [esp + 0x1c], eax
mov byte [esp + 0x17], 0
mov edx, dword [esi + 4]
sub edx, dword [esp + 0x28]
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jne 0x534e85
mov edx, dword [ebp + 0xc]
lea eax, [edx + edx]
sub ecx, eax
sub ecx, dword [esi + 0x40]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fdiv qword [esi + 0x60]
call fcn.00505d50
cmp eax, dword [esp + 0x1c]
jle 0x534e85
mov dword [esp + 0x1c], eax
cmp edi, 0xd50
jne 0x534ea2
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x34]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jle 0x534e9e
mov eax, ecx
mov dword [esp + 0x58], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
push edx
push eax
push edi
push ebx
push ecx
push esi
lea esi, [esp + 0x7c]
call fcn.00533d50
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xd50
je 0x534ed7
cmp eax, 0xd52
jne 0x534fc9
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x2c]
cmp eax, edx
jae 0x534f66
mov ecx, eax
cmp esi, ecx
ja 0x534f66
mov ecx, dword [esp + 0x3c]
mov ebx, eax
sub ebx, esi
sar ebx, 3
cmp edx, ecx
jne 0x534f4d
mov eax, edx
sub eax, esi
sar eax, 3
cmp eax, 0x1ffffffe
ja 0x535177
sub ecx, esi
inc eax
sar ecx, 3
cmp eax, ecx
jbe 0x534f4d
mov edx, ecx
shr edx, 1
mov esi, 0x1fffffff
sub esi, edx
cmp esi, ecx
jae 0x534f33
xor ecx, ecx
jmp 0x534f35
add ecx, edx
cmp ecx, eax
jae 0x534f3b
mov ecx, eax
push ecx
lea ecx, [esp + 0x38]
call fcn.00401bc0
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
test edx, edx
je 0x534f5d
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 + 0x38], edx
jmp 0x534fd1
mov ecx, dword [esp + 0x3c]
cmp edx, ecx
jne 0x534fb7
mov eax, edx
sub eax, esi
sar eax, 3
cmp eax, 0x1ffffffe
ja 0x535177
sub ecx, esi
inc eax
sar ecx, 3
cmp eax, ecx
jbe 0x534fb7
mov edx, ecx
shr edx, 1
mov esi, 0x1fffffff
sub esi, edx
cmp esi, ecx
jae 0x534f9d
xor ecx, ecx
jmp 0x534f9f
add ecx, edx
cmp ecx, eax
jae 0x534fa5
mov ecx, eax
push ecx
lea ecx, [esp + 0x38]
call fcn.00401bc0
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
test edx, edx
je 0x534fc0
mov dword [edx], ebx
mov dword [edx + 4], edi
add edx, 8
mov dword [esp + 0x38], edx
jmp 0x534fd1
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 0xd51
je 0x534fe5
cmp eax, 0xd53
jne 0x534ff0
cmp esi, edx
je 0x534ff0
sub edx, 8
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
add eax, 0x60
mov dword [esp + 0x28], eax
cmp eax, dword [ecx + 4]
jne 0x534695
mov edi, dword [esp + 0x60]
mov esi, ecx
xor edx, edx
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x1c], eax
jg 0x53501e
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x24], edx
jle 0x5350c4
mov ebx, dword [esp + 0x94]
cmp ebx, dword [esp + 0x98]
je 0x535082
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov esi, dword [esp + 0x24]
sub eax, edi
sar esi, 3
sar eax, 2
cmp eax, esi
jbe 0x535183
fild dword [edi + esi*4]
fmul qword [ebx]
call fcn.00505d50
add dword [esp + 0x24], 8
add ebx, 8
mov dword [edi + esi*4], eax
cmp ebx, dword [esp + 0x98]
jne 0x53503f
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov eax, edx
sub eax, ecx
sar eax, 2
dec eax
imul eax, dword [ebp + 0xc]
mov dword [esp + 0x44], eax
cmp ecx, edx
je 0x5350ad
nop
add eax, dword [ecx]
add ecx, 4
cmp ecx, edx
jne 0x5350a0
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jle 0x5350c4
test ecx, ecx
je 0x5350c4
fild dword [esp + 0x44]
fidiv dword [esp + 0x1c]
fstp qword [esi + 0x60]
fild dword [esp + 0x1c]
fmul qword [esi + 0x60]
call fcn.00505d50
mov ebx, dword [esp + 0x90]
mov dword [ebx], eax
mov eax, dword [esp + 0x8c]
add eax, dword [esp + 0x68]
mov esi, dword [esi + 0x28]
cmp eax, esi
jle 0x5350ed
mov esi, eax
mov dword [ebx + 4], esi
test edi, edi
jle 0x535108
mov eax, dword [ebx]
lea ecx, [edi + edi*4]
add ecx, ecx
sub eax, ecx
add eax, 0xa
cdq
idiv edi
add eax, esi
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x535119
push eax
call fcn.0040c6ec
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x53512a
push eax
call fcn.0040c6ec
add esp, 4
mov eax, dword [esp + 0x94]
test eax, eax
je 0x53513e
push eax
call fcn.0040c6ec
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
je 0x53514f
push eax
call fcn.0040c6ec
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x110]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xf8]
xor ecx, esp
call fcn.004ff57c
mov esp, ebp
pop ebp
ret 0xc
push str.vector_T__too_long
call fcn.0051b7f8
fstp st(0)
push str.invalid_vector_T__subscript
call fcn.0051b845
lea ecx, [ecx]
adc al, 0x4e
push ebx
add bh, dh
dec ebp
push ebx
add byte [esi + ecx*2], dl
push ebx
add byte [eax], al
add al, byte [edx]
add al, byte [eax]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add dword [edx], eax
add al, byte [eax]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add byte [eax], al
int3