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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38
push ebx
mov edx, 1
cmp word [0x473daa], dx
push ebp
push esi
push edi
mov dword [esp + 0x34], 0
jle 0x41157a
dec word [0x473daa]
cmp word [0x473da8], dx
jle 0x41158a
dec word [0x473da8]
cmp word [0x473dac], dx
jle 0x41159a
dec word [0x473dac]
mov cx, word [0x473dae]
cmp cx, dx
jle 0x4115af
dec cx
mov word [0x473dae], cx
cmp word [0x473dba], dx
jle 0x4115bf
dec word [0x473dba]
cmp word [0x473db8], dx
jle 0x4115cf
dec word [0x473db8]
cmp word [0x473dbc], dx
jle 0x4115df
dec word [0x473dbc]
mov ax, word [0x473dbe]
cmp ax, dx
jle 0x4115f2
dec ax
mov word [0x473dbe], ax
xor edx, edx
test cx, cx
setne dl
add edx, 2
xor ecx, ecx
test ax, ax
setne cl
add ecx, 2
mov dword [0x474d30], edx
mov dword [0x4757d0], ecx
mov edx, dword [esp + 0x34]
mov ebx, dword [edx*4 + 0x473a68]
test ebx, ebx
mov dword [esp + 0x28], ebx
je 0x411ce2
cmp dword [ebx], 0
je 0x41163f
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax]
push ecx
push ebx
call fcn.00407d40
add esp, 8
cmp dword [ebx], 3
jne 0x411cd9
fld qword [ebx + 8]
call fcn.00426390
fld qword [ebx + 0x10]
mov ebp, eax
mov dword [esp + 0x20], ebp
call fcn.00426390
mov edi, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
mov esi, eax
mov dword [esp + 0x1c], edi
test ebp, ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
jge 0x41167c
xor ebp, ebp
mov dword [esp + 0x20], ebp
test esi, esi
jge 0x411686
xor esi, esi
mov dword [esp + 0x14], esi
mov eax, esi
add edi, ebp
cdq
mov ebp, dword [0x4c1fc4]
and edx, 0xf
add eax, edx
xor edx, edx
mov dx, word [0x4c42aa]
mov ecx, eax
mov eax, dword [0x4caff0]
sar ecx, 4
shr ebp, 4
imul ecx, edx
add ebp, eax
mov eax, edi
cdq
and edx, 0xf
add ebp, ecx
add eax, edx
xor ecx, ecx
sar eax, 4
mov cl, byte [eax + ebp + 8]
mov eax, dword [0x489630]
cmp ecx, eax
jle 0x41173d
mov dword [ebx], 2
mov eax, dword [0x4c1fa0]
cmp eax, 1
jne 0x41173d
mov ecx, dword [esp + 0x20]
cmp ecx, 0x140
jge 0x41173d
test ecx, ecx
jle 0x41173d
cmp esi, 0x120
jge 0x41173d
test esi, esi
jle 0x41173d
mov eax, dword [esp + 0x10]
cmp word [ebx + 0x7c], 2
cdq
jne 0x41170d
sub eax, edx
sar eax, 1
sub esi, eax
jmp 0x41171f
sub eax, edx
sar eax, 1
sub esi, eax
mov eax, dword [esp + 0x1c]
cdq
sub eax, edx
sar eax, 1
lea edi, [eax + ecx]
push 0x477530
push esi
push edi
call fcn.00413780
add esp, 0xc
push 0x432418
push esi
push edi
call fcn.0040bcf0
add esp, 0xc
cmp dword [ebx], 3
jne 0x411cd9
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x24], 0x4b8720
mov edx, dword [esp + 0x24]
mov esi, dword [edx]
test esi, esi
je 0x411915
cmp dword [esi], 3
jne 0x4118b4
mov eax, dword [esi + 0x50]
test eax, eax
jne 0x4118b4
fld qword [esi + 8]
call fcn.00426390
fld qword [esi + 0x10]
mov edi, eax
call fcn.00426390
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x24]
mov ebx, eax
mov eax, dword [esi + 0x20]
cmp ebp, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], edx
jl 0x4117b2
add eax, edi
cmp ebp, eax
jge 0x4117b2
mov eax, dword [esp + 0x14]
cmp eax, ebx
jl 0x4117b2
lea edx, [ecx + ebx]
cmp eax, edx
jle 0x4117ea
mov eax, dword [esp + 0x1c]
add eax, ebp
cmp eax, edi
jle 0x4118b4
mov edx, dword [esp + 0x18]
add edx, edi
cmp eax, edx
jge 0x4118b4
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add eax, edx
cmp eax, ebx
jl 0x4118b4
add ecx, ebx
cmp eax, ecx
jg 0x4118b4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4118be
mov eax, ebp
cdq
and edx, 0xf
add eax, edx
mov ecx, eax
mov eax, edi
cdq
and edx, 0xf
add eax, edx
sar ecx, 4
sar eax, 4
sub ecx, eax
mov eax, dword [esp + 0x14]
cdq
and edx, 0xf
add eax, edx
mov esi, eax
mov eax, ebx
cdq
and edx, 0xf
add eax, edx
sar esi, 4
sar eax, 4
sub esi, eax
test ecx, ecx
jge 0x411832
xor ecx, ecx
mov eax, dword [esp + 0x18]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
lea edx, [eax - 1]
cmp ecx, edx
jle 0x411848
mov ecx, edx
test esi, esi
jge 0x41184e
xor esi, esi
imul esi, eax
mov eax, dword [esp + 0x30]
add esi, ecx
cmp dword [eax + esi*4], 0
je 0x4118b4
mov ecx, dword [esp + 0x28]
mov dword [ecx], 2
mov eax, dword [0x4c1fa0]
cmp eax, 1
jne 0x4118b4
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
push 0x477530
cdq
sub eax, edx
mov edx, edi
mov esi, eax
lea eax, [ebx + ebp]
sar esi, 1
sub edx, esi
push edx
push eax
call fcn.00413780
mov eax, ebx
add esp, 0xc
cdq
sub eax, edx
add edi, esi
sar eax, 1
push 0x432418
add eax, ebp
push edi
push eax
call fcn.0040bcf0
add esp, 0xc
add dword [esp + 0x24], 4
jmp 0x411752
mov ecx, dword [esp + 0x28]
mov dword [ecx], 2
mov eax, dword [0x4c1fa0]
cmp eax, 1
jne 0x411915
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
push 0x477530
cdq
sub eax, edx
mov edx, edi
mov esi, eax
lea eax, [ebx + ebp]
sar esi, 1
sub edx, esi
push edx
push eax
call fcn.00413780
mov eax, ebx
add esp, 0xc
cdq
sub eax, edx
add edi, esi
sar eax, 1
push 0x432418
add eax, ebp
push edi
push eax
call fcn.0040bcf0
add esp, 0xc
mov dword [esp + 0x2c], 0x482e08
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx]
test esi, esi
je 0x411cd9
cmp dword [esi], 3
jne 0x411a85
mov ax, word [esi + 0x84]
cmp ax, 0xb
je 0x411a85
cmp ax, 0xc
je 0x411a85
fld qword [esi + 8]
call fcn.00426390
fld qword [esi + 0x10]
mov edi, eax
mov dword [esp + 0x40], edi
call fcn.00426390
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
push edx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x2c], eax
push eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x20]
push edi
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
push edx
xor bl, bl
call fcn.0040caa0
add esp, 0x20
cmp eax, 1
jne 0x411a85
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x411a77
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
cmp edi, edx
jge 0x4119c0
xor eax, eax
jmp 0x4119c4
mov eax, edi
sub eax, edx
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
add ebp, edx
mov dword [esp + 0x3c], eax
lea ebx, [ecx + edi]
cmp ebx, ebp
jle 0x4119e1
mov ecx, dword [esp + 0x18]
sub ecx, eax
jmp 0x4119e7
sub ecx, edx
sub ecx, eax
add ecx, edi
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
cmp ebx, edi
jge 0x4119f7
xor eax, eax
jmp 0x4119fb
mov eax, ebx
sub eax, edi
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x30]
add edx, ebx
add ebp, edi
cmp edx, ebp
mov dword [esp + 0x38], eax
jle 0x411a17
mov edx, dword [esp + 0x30]
sub edx, eax
jmp 0x411a21
mov edx, dword [esp + 0x10]
sub edx, edi
sub edx, eax
add edx, ebx
mov eax, dword [esi + 0x34]
mov edi, dword [esi + 0x4c]
xor bl, bl
xor ebp, ebp
mov eax, dword [edi + eax*4]
test edx, edx
mov dword [esp + 0x44], eax
jle 0x411a77
xor edi, edi
test ecx, ecx
jle 0x411a6e
mov ebx, dword [esi + 0x20]
mov eax, dword [esp + 0x38]
add ebx, dword [esp + 0x18]
add eax, ebp
imul eax, ebx
mov ebx, dword [esi + 0x48]
add eax, ebx
mov ebx, dword [esi + 0x40]
add eax, dword [ebx]
mov ebx, dword [esp + 0x44]
add eax, ebx
mov ebx, dword [esp + 0x3c]
add eax, ebx
mov bl, byte [eax]
test bl, bl
jne 0x411a8f
inc edi
inc eax
cmp edi, ecx
jl 0x411a62
test bl, bl
jne 0x411a8f
inc ebp
cmp ebp, edx
jl 0x411a36
test bl, bl
jne 0x411a8f
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x411a8f
add dword [esp + 0x2c], 4
jmp 0x41191d
mov eax, dword [esi + 0x74]
cmp eax, 0x8000
je 0x411c40
mov ecx, dword [esi + 0x38]
cmp ecx, 0xfffffffe
je 0x411aef
cmp ecx, 0xfffffffd
je 0x411aef
mov ecx, dword [esp + 0x28]
sub eax, dword [ecx + 0x78]
mov dword [esi + 0x74], eax
mov eax, dword [0x4c1fa0]
test eax, eax
jne 0x411ad0
mov edx, dword [0x4924ec]
push 0
push edx
push 0x11
call fcn.0041c4a0
add esp, 0xc
cmp word [esi + 0x84], 2
jne 0x411ae4
mov dword [0x4c1f74], 1
mov word [esi + 0xb4], 4
jmp 0x411b2c
mov ecx, dword [esi + 0x34]
cmp ecx, 7
je 0x411afc
cmp ecx, 6
jne 0x411b2c
mov ecx, dword [esp + 0x28]
sub eax, dword [ecx + 0x78]
mov dword [esi + 0x74], eax
mov eax, dword [0x4c1fa0]
test eax, eax
jne 0x411b22
mov edx, dword [0x4924ec]
push 0
push edx
push 0x11
call fcn.0041c4a0
add esp, 0xc
mov dword [0x4c1f74], 1
mov eax, dword [esi + 0x74]
test eax, eax
jge 0x411c40
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x80]
mov edx, dword [eax + 0x48]
inc edx
mov dword [eax + 0x48], edx
cmp word [esi + 0x84], 0xa
je 0x411b5b
mov eax, dword [ecx + 0x80]
inc dword [eax + 0x5c]
push esi
mov dword [esi], 2
call fcn.004148b0
mov eax, dword [esp + 0x34]
mov ecx, dword [esi + 0x70]
cdq
sub eax, edx
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x18]
cdq
sub eax, edx
mov ebp, dword [esp + 0x40]
mov ebx, eax
mov eax, dword [ecx + 4]
cdq
sub eax, edx
mov edx, dword [esp + 0x24]
sar eax, 1
sar edi, 1
sub edx, eax
mov eax, dword [ecx]
add edx, edi
push ecx
push edx
mov ecx, ebp
cdq
sub eax, edx
sar eax, 1
sar ebx, 1
sub ecx, eax
add ecx, ebx
push ecx
call fcn.00413780
mov eax, dword [0x4c1fa0]
add esp, 0xc
cmp eax, 1
jne 0x411bd4
mov eax, dword [esp + 0x24]
mov edx, dword [esi + 0xd8]
add eax, edi
push edx
lea ecx, [ebp + ebx]
push eax
push ecx
call fcn.0040bcf0
add esp, 0xc
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x411bed
mov edx, dword [esp + 0x24]
push 0x3ff00000
push 0
push eax
push edx
jmp 0x411c37
dec word [0x4c4848]
jns 0x411c26
mov ax, word [0x4c840c]
xor edx, edx
mov word [0x4c4848], ax
mov eax, dword [0x4c1f80]
mov ecx, 0x14
push 0x3fe00000
div ecx
mov eax, dword [esp + 0x28]
push 0
mov edx, dword [edx*4 + 0x4724e8]
push edx
push eax
jmp 0x411c37
mov ecx, dword [esp + 0x24]
push 0x3fe00000
push 0
push 0x4720e8
push ecx
push ebp
call fcn.004018a0
add esp, 0x14
mov edx, dword [esp + 0x28]
mov dword [edx], 2
mov eax, dword [0x4c1fa0]
cmp eax, 1
jne 0x411cd9
cmp dword [esi], 3
jne 0x411cd9
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
cdq
sub eax, edx
mov ecx, ebp
mov edi, eax
mov eax, dword [esp + 0x1c]
cdq
sub eax, edx
push 0x477530
mov ebx, eax
mov eax, dword [0x477534]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [0x477530]
cdq
sub eax, edx
mov edx, dword [esp + 0x24]
sar eax, 1
sar edi, 1
sar ebx, 1
sub edx, eax
add ecx, edi
add edx, ebx
push ecx
push edx
call fcn.00413780
mov eax, dword [esi + 0xd8]
add esp, 0xc
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [0x477534]
cdq
sub eax, edx
sar eax, 1
sub ebp, eax
mov eax, dword [0x477530]
cdq
sub eax, edx
add ebp, edi
sar eax, 1
sub ecx, eax
push ebp
add ecx, ebx
push ecx
call fcn.0040bcf0
add esp, 0xc
inc dword [esp + 0x34]
jmp 0x411614
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret