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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x158
cmp byte [0x622110], 0
mov ebp, dword [esp + 0x178]
mov edi, dword [esp + 0x16c]
mov ebx, dword [esp + 0x170]
jne 0x410c2a
push 0x80
push 0x14
push 0
push 0x411520
push 0x621710
call fcn.0059cd10
add esp, 0x14
mov byte [0x622110], 1
cmp byte [0x622314], 0
jne 0x410c52
push 0x10
push 0x20
push 0
push 0x411510
push 0x622114
call fcn.0059cd10
add esp, 0x14
mov byte [0x622314], 1
cmp byte [0x623154], 0
jne 0x410c8a
push 0x623148
push fcn.004b8db0
push 0x623158
mov dword [0x623198], 0
mov byte [0x62319c], 0
call fcn.005a33a0
add esp, 0xc
mov byte [0x623154], 1
cmp byte [0x6231ac], 0
jne 0x410cc2
push 0x6231a0
push fcn.004b8db0
push 0x6231b0
mov dword [0x6231f0], 0
mov byte [0x6231f4], 0
call fcn.005a33a0
add esp, 0xc
mov byte [0x6231ac], 1
push 0x623158
push dword [esp + 0x178]
call fcn.004b9c30
pop ecx
pop ecx
mov ecx, 0x623158
push eax
call fcn.004b8f40
lea eax, [esp + 0xc8]
push edi
push 0x623158
push eax
call fcn.004b9d60
lea eax, [esp + 0xd4]
add esp, 0xc
mov ecx, 0x623158
push eax
call fcn.004b8f40
lea ecx, [esp + 0xc8]
call fcn.004b8db0
lea eax, [esp + 0x5c]
push ebx
fld dword [ebx + 0xc]
fstp dword [esp + 0x40]
push 0x623158
push eax
call fcn.004ba4d0
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x44], eax
add esp, 0xc
lea eax, [esp + 0x30]
mov dword [esp + 0x34], edx
lea esi, [ebp + 0x14]
push esi
push eax
call fcn.0040bb70
test al, al
pop ecx
pop ecx
jne 0x410d67
xor eax, eax
add esp, 0x158
pop ebp
pop edi
pop esi
pop ebx
ret
push 0x6231b0
push edi
call fcn.004b9c30
pop ecx
pop ecx
mov ecx, 0x6231b0
push eax
call fcn.004b8f40
lea eax, [esp + 0x110]
push dword [esp + 0x174]
push 0x6231b0
push eax
call fcn.004b9d60
lea eax, [esp + 0x11c]
add esp, 0xc
mov ecx, 0x6231b0
push eax
call fcn.004b8f40
lea ecx, [esp + 0x110]
call fcn.004b8db0
xor esi, esi
xor edi, edi
jmp 0x410e20
mov eax, dword [ebx + 0x40]
fld dword [eax + edi + 0xc]
fstp dword [edi + 0x62171c]
mov eax, dword [ebx + 0x40]
add eax, edi
push eax
lea eax, [esp + 0x6c]
push 0x623158
push eax
call fcn.004ba4d0
fld dword [esp + 0x74]
fstp dword [edi + 0x621710]
fld dword [esp + 0x78]
fstp dword [edi + 0x621714]
fld dword [esp + 0x7c]
fstp dword [edi + 0x621718]
mov edx, dword [ebx + 0x40]
add esp, 0xc
add edx, edi
add edx, 0x10
mov cl, byte [edx]
mov byte [edi + 0x621720], cl
mov al, byte [edx + 1]
mov byte [edi + 0x621721], al
add edi, 0x14
inc esi
movsx eax, word [ebx + 0x30]
cmp esi, eax
jl 0x410dc0
xor esi, esi
xor edi, edi
jmp 0x410eb9
mov eax, dword [ebx + 0x44]
add eax, edi
push eax
lea eax, [esp + 0x78]
push 0x623158
push eax
call fcn.004ba4d0
fld dword [esp + 0x80]
fstp dword [edi + 0x622114]
fld dword [esp + 0x84]
fstp dword [edi + 0x622118]
fld dword [esp + 0x88]
fstp dword [edi + 0x62211c]
mov eax, dword [ebx + 0x44]
add esp, 0xc
add eax, edi
add eax, 0x10
push eax
lea eax, [esp + 0x84]
push 0x623158
push eax
call fcn.004ba4d0
fld dword [esp + 0x8c]
fstp dword [edi + 0x622124]
fld dword [esp + 0x90]
fstp dword [edi + 0x622128]
fld dword [esp + 0x94]
fstp dword [edi + 0x62212c]
add edi, 0x20
add esp, 0xc
inc esi
movsx eax, word [ebx + 0x32]
cmp esi, eax
jl 0x410e31
xor esi, esi
mov dword [esp + 0x24], 0
mov edi, 0x621710
jmp 0x410ef9
lea eax, [ebp + 0x14]
push eax
push edi
call fcn.0040bb70
test al, al
pop ecx
pop ecx
je 0x410ef5
mov eax, dword [esp + 0x24]
inc dword [esp + 0x24]
mov dword [eax*4 + 0x622318], esi
add edi, 0x14
inc esi
movsx eax, word [ebx + 0x30]
cmp esi, eax
jl 0x410ed6
xor ecx, ecx
mov dword [esp + 0x28], 0
jmp 0x410f20
mov eax, dword [esp + 0x28]
inc dword [esp + 0x28]
mov dword [eax*4 + 0x622518], ecx
inc ecx
movsx eax, word [ebx + 0x32]
cmp ecx, eax
jl 0x410f10
cmp dword [esp + 0x24], 0
jne 0x410f43
cmp dword [esp + 0x28], 0
jne 0x410f43
xor eax, eax
add esp, 0x158
pop ebp
pop edi
pop esi
pop ebx
ret
xor esi, esi
xor edi, edi
mov dword [esp + 0x1c], 0
jmp 0x410fbf
mov eax, dword [ebp + 0x40]
fld dword [eax + edi + 0xc]
fstp dword [esp + 0x50]
mov eax, dword [ebp + 0x40]
add eax, edi
push eax
lea eax, [esp + 0x90]
push 0x6231b0
push eax
call fcn.004ba4d0
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x58], eax
add esp, 0xc
lea eax, [esp + 0x44]
mov dword [esp + 0x48], edx
lea ecx, [ebx + 0x14]
push ecx
push eax
call fcn.0040bb70
test al, al
pop ecx
pop ecx
je 0x410fbb
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x1c]
mov dword [eax*4 + 0x622558], esi
add edi, 0x14
inc esi
movsx eax, word [ebp + 0x30]
cmp esi, eax
jl 0x410f51
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x10], 0
jmp 0x410ffe
mov edx, dword [ebp + 0x48]
lea eax, [esp + 0x30]
add edx, edi
push edx
push eax
call fcn.0040bb70
test al, al
pop ecx
pop ecx
je 0x410ffa
mov eax, dword [esp + 0x10]
inc dword [esp + 0x10]
mov dword [eax*4 + 0x622758], ebx
add edi, 0x1c
inc ebx
movsx eax, word [ebp + 0x34]
cmp ebx, eax
jl 0x410fd5
push ebp
call fcn.0040b960
xor edi, edi
xor esi, esi
xor ebx, ebx
pop ecx
mov dword [esp + 0x18], 0
jmp 0x411057
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x54]
add eax, ebx
add ecx, edi
mov edx, dword [ebp + 0x4c]
push ecx
push eax
lea eax, [esp + 0x38]
push edx
push eax
call fcn.0040c580
add esp, 0x10
test al, al
je 0x411050
mov eax, dword [esp + 0x18]
inc dword [esp + 0x18]
mov dword [eax*4 + 0x6227d8], esi
add ebx, 8
add edi, 0x14
inc esi
movsx eax, word [ebp + 0x36]
cmp esi, eax
jl 0x411020
cmp dword [esp + 0x1c], 0
jne 0x411081
cmp dword [esp + 0x10], 0
jne 0x411081
cmp dword [esp + 0x18], 0
jne 0x411081
xor eax, eax
add esp, 0x158
pop ebp
pop edi
pop esi
pop ebx
ret
xor esi, esi
cmp dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
jle 0x4111f3
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x20], eax
xor edi, edi
xor bl, bl
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x58], 0x6753c21c
jle 0x41110a
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
lea eax, [eax]
lea eax, [esp + 0x58]
mov ecx, dword [edi*4 + 0x622558]
push eax
mov eax, dword [esi*4 + 0x622318]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [eax*4]
lea ecx, [ecx*4]
add eax, 0x621710
add ecx, dword [ebp + 0x40]
push dword [esp + 8]
push ecx
push eax
call fcn.0040b9f0
add esp, 0x10
test al, al
je 0x411103
mov bl, 1
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x4110c0
xor edi, edi
cmp dword [esp + 0x10], 0
jle 0x411168
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
mov eax, eax
lea eax, [eax]
lea eax, [esp + 0x58]
push eax
mov eax, dword [edi*4 + 0x622758]
lea edx, [eax + eax*8]
lea edx, [edx + edx*2]
add edx, eax
mov eax, dword [esi*4 + 0x622318]
lea eax, [eax + eax*4]
add edx, dword [ebp + 0x48]
lea eax, [eax*4]
add eax, 0x621710
push dword [esp + 0xc]
push edx
push eax
call fcn.0040bc00
add esp, 0x10
test al, al
je 0x411161
mov bl, 1
inc edi
cmp edi, dword [esp + 0x10]
jl 0x411120
xor edi, edi
cmp dword [esp + 0x18], 0
jle 0x4111db
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], eax
lea eax, [eax]
lea eax, [esp + 0x58]
mov edx, dword [ebp + 0x4c]
push eax
mov eax, dword [edi*4 + 0x6227d8]
mov ecx, eax
lea eax, [eax*8]
lea ecx, [ecx + ecx*4]
add eax, dword [ebp + 0x50]
lea ecx, [ecx*4]
add ecx, dword [ebp + 0x54]
push dword [esp + 0x10]
push ecx
push eax
mov eax, dword [esi*4 + 0x622318]
push edx
lea eax, [eax + eax*4]
lea eax, [eax*4]
add eax, 0x621710
push eax
call fcn.0040ce30
add esp, 0x18
test al, al
je 0x4111d4
mov bl, 1
inc edi
cmp edi, dword [esp + 0x18]
jl 0x411180
test bl, bl
je 0x4111e8
add dword [esp + 0x20], 0x28
inc dword [esp + 0x2c]
inc esi
cmp esi, dword [esp + 0x24]
jl 0x4110a1
xor edi, edi
cmp dword [esp + 0x2c], 0
jle 0x4112bf
xor esi, esi
mov ebx, dword [esp + 0x17c]
lea eax, [eax]
lea eax, [esp + 0x98]
push ebx
push dword [esp + 0x178]
push eax
call fcn.004ba4d0
mov eax, dword [esp + 0x188]
add esp, 0xc
fld dword [esp + 0x98]
fstp dword [eax + esi]
mov eax, dword [esp + 0x17c]
fld dword [esp + 0x9c]
fstp dword [eax + esi + 4]
mov eax, dword [esp + 0x17c]
fld dword [esp + 0xa0]
fstp dword [eax + esi + 8]
lea eax, [ebx + 0x10]
push eax
lea eax, [esp + 0xa8]
push dword [esp + 0x178]
push eax
call fcn.004ba3d0
mov eax, dword [esp + 0x188]
inc edi
fld dword [esp + 0xb0]
fstp dword [eax + esi + 0x10]
mov eax, dword [esp + 0x188]
add esp, 0xc
fld dword [esp + 0xa8]
fstp dword [eax + esi + 0x14]
mov eax, dword [esp + 0x17c]
add ebx, 0x28
fld dword [esp + 0xac]
fstp dword [eax + esi + 0x18]
add esi, 0x28
cmp edi, dword [esp + 0x2c]
jl 0x411210
xor ebx, ebx
cmp dword [esp + 0x28], 0
jle 0x41141d
lea eax, [eax]
xor esi, esi
cmp dword [esp + 0x1c], 0
mov byte [ebx + 0x623138], 0
jle 0x41133b
mov eax, dword [ebx*4 + 0x622518]
mov edx, dword [esi*4 + 0x622558]
mov ecx, eax
lea edx, [edx + edx*4]
imul ecx, ecx, 0x28
lea edx, [edx*4]
lea edi, [eax*4]
shl eax, 5
add edi, dword [esp + 0x184]
add eax, 0x622114
add edx, dword [ebp + 0x40]
push edi
add ecx, dword [esp + 0x184]
push ecx
push edx
push eax
call fcn.0040de80
add esp, 0x10
test al, al
je 0x411334
mov byte [ebx + 0x623138], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x4112e0
xor edi, edi
cmp dword [esp + 0x10], 0
jle 0x41139d
mov eax, dword [ebx*4 + 0x622518]
mov edx, dword [edi*4 + 0x622758]
mov esi, eax
lea ecx, [eax*4]
imul esi, esi, 0x28
add ecx, dword [esp + 0x184]
shl eax, 5
push ecx
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add eax, 0x622114
add ecx, edx
add ecx, dword [ebp + 0x48]
add esi, dword [esp + 0x184]
push esi
push ecx
push eax
call fcn.0040e670
add esp, 0x10
test al, al
je 0x411396
mov byte [ebx + 0x623138], 1
inc edi
cmp edi, dword [esp + 0x10]
jl 0x411344
xor esi, esi
cmp dword [esp + 0x18], 0
jle 0x411412
mov eax, dword [ebx*4 + 0x622518]
mov ecx, eax
lea edx, [eax*4]
imul ecx, ecx, 0x28
add edx, dword [esp + 0x184]
shl eax, 5
push edx
mov edx, dword [esi*4 + 0x6227d8]
mov edi, edx
lea edx, [edx*8]
lea edi, [edi + edi*4]
add edx, dword [ebp + 0x50]
lea edi, [edi*4]
add eax, 0x622114
add edi, dword [ebp + 0x54]
add ecx, dword [esp + 0x184]
push ecx
mov ecx, dword [ebp + 0x4c]
push edi
push edx
push ecx
push eax
call fcn.0040f140
add esp, 0x18
test al, al
je 0x41140b
mov byte [ebx + 0x623138], 1
inc esi
cmp esi, dword [esp + 0x18]
jl 0x4113a6
inc ebx
cmp ebx, dword [esp + 0x28]
jl 0x4112d0
xor edi, edi
cmp dword [esp + 0x28], 0
jle 0x4114fa
lea eax, [eax]
cmp byte [edi + 0x623138], 0
je 0x4114ef
mov eax, dword [edi*4 + 0x622518]
imul eax, eax, 0x28
add eax, dword [esp + 0x180]
push eax
lea eax, [esp + 0xb4]
push dword [esp + 0x178]
push eax
call fcn.004ba4d0
mov eax, dword [edi*4 + 0x622518]
add esp, 0xc
imul eax, eax, 0x28
fld dword [esp + 0xb0]
add eax, dword [esp + 0x180]
fstp dword [eax]
fld dword [esp + 0xb4]
fstp dword [eax + 4]
fld dword [esp + 0xb8]
fstp dword [eax + 8]
mov eax, dword [edi*4 + 0x622518]
imul eax, eax, 0x28
add eax, dword [esp + 0x180]
add eax, 0x10
push eax
lea eax, [esp + 0xc0]
push dword [esp + 0x178]
push eax
call fcn.004ba3d0
mov eax, dword [edi*4 + 0x622518]
add esp, 0xc
imul eax, eax, 0x28
fld dword [esp + 0xbc]
add eax, dword [esp + 0x180]
fstp dword [eax + 0x10]
fld dword [esp + 0xc0]
fstp dword [eax + 0x14]
fld dword [esp + 0xc4]
fstp dword [eax + 0x18]
inc edi
cmp edi, dword [esp + 0x28]
jl 0x411430
mov eax, dword [esp + 0x2c]
add esp, 0x158
pop ebp
pop edi
pop esi
pop ebx
ret