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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4538d2
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x46e8c0]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov ebx, ecx
xor esi, esi
cmp dword [ebx + 0x98], esi
je 0x41d731
or eax, 0xffffffff
jmp 0x41dbab
mov eax, dword [ebp + 8]
sub eax, esi
mov dword [esp + 0x14], esi
je 0x41db1d
push 2
pop esi
sub eax, esi
je 0x41d8bd
dec eax
je 0x41d7fa
dec eax
jne 0x41dba7
mov esi, dword [ebp + 0xc]
push dword [esi + 4]
mov edi, 0xfde9
push edi
lea eax, [ebx + 0x5c]
call fcn.0041c78f
mov eax, dword [esi + 0x24]
xor ecx, ecx
cmp eax, ecx
je 0x41d78c
add ebx, 0x70
or dword [esp + 0x14], 0xffffffff
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], ecx
jmp 0x41dba7
cmp dword [ebx + 0x34], ecx
je 0x41dba7
lea eax, [esp + 0x40]
call fcn.0041c5a4
mov dword [esp + 0x78], 1
mov eax, dword [esi + 4]
push dword [esi + 0xc]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x38], eax
push edi
lea eax, [esp + 0x48]
call fcn.0041c78f
push dword [ebx + 0xa8]
mov dword [esp + 0x3c], eax
mov ax, word [esi + 0x1e]
push dword [esi + 0x24]
mov word [esp + 0x44], ax
mov ax, word [esi + 0x20]
mov word [esp + 0x46], ax
lea eax, [esp + 0x38]
push eax
call dword [ebx + 0x34]
add esp, 0xc
push dword [esp + 0x40]
call fcn.004394ea
pop ecx
jmp 0x41dba7
lea eax, [esp + 0x40]
call fcn.0041c5a4
lea eax, [esp + 0x30]
mov dword [esp + 0x78], 7
call fcn.0041c5a4
mov eax, dword [ebp + 0xc]
mov byte [esp + 0x78], 8
test byte [eax + 0x1c], 0x80
mov ecx, 0xfde9
jne 0x41d82d
mov ecx, dword [ebx + 0xa4]
push dword [eax + 4]
lea eax, [esp + 0x34]
push ecx
call fcn.0041c78f
lea esi, [esp + 0x30]
call fcn.0041c72c
lea eax, [esp + 0x40]
lea esi, [ebx + 0x54]
push eax
call fcn.0041c6c9
lea edi, [esp + 0x30]
lea eax, [esp + 0x40]
call fcn.0041c6ed
cmp dword [ebx + 0x9c], 0
jne 0x41d88a
mov esi, dword [ebp + 0xc]
mov edi, dword [esi + 0x14]
mov eax, ebx
call fcn.0041d684
movzx eax, word [esi + 0x1a]
push eax
movzx eax, word [esi + 0x18]
push eax
push dword [esp + 0x48]
mov ax, word [esi + 0x1c]
call fcn.0041dc41
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x41d8b0
push dword [ebx + 0xa8]
mov ecx, dword [ebx + 0x9c]
add ebx, 0x64
neg ecx
sbb ecx, ecx
and ecx, ebx
push ecx
push dword [esp + 0x48]
call eax
add esp, 0xc
mov dword [esp + 0x14], 1
jmp 0x41da00
lea eax, [esp + 0x40]
call fcn.0041c5a4
lea eax, [esp + 0x30]
mov dword [esp + 0x78], esi
call fcn.0041c5a4
lea eax, [esp + 0x28]
mov byte [esp + 0x78], 3
call fcn.0041c5a4
lea eax, [esp + 0x20]
mov byte [esp + 0x78], 4
call fcn.0041c5a4
lea eax, [esp + 0x18]
mov byte [esp + 0x78], 5
call fcn.0041c5a4
mov ecx, dword [ebp + 0xc]
mov byte [esp + 0x78], 6
test byte [ecx + 0x1c], 0x80
mov eax, 0xfde9
jne 0x41d916
mov eax, dword [ebx + 0xa4]
push dword [ecx + 4]
push eax
lea eax, [esp + 0x30]
call fcn.0041c78f
lea esi, [esp + 0x28]
call fcn.0041c72c
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x34]
push eax
mov eax, esi
call fcn.0041cb4f
pop ecx
pop ecx
lea eax, [esp + 0x20]
lea esi, [ebx + 0x54]
push eax
call fcn.0041c6c9
lea edi, [esp + 0x30]
lea eax, [esp + 0x20]
call fcn.0041c6ed
lea eax, [esp + 0x18]
push eax
lea esi, [esp + 0x24]
call fcn.0041c6c9
lea edi, [esp + 0x40]
lea eax, [esp + 0x18]
call fcn.0041c6ed
mov edi, dword [ebp + 0xc]
xor esi, esi
cmp dword [ebx + 0x24], esi
je 0x41da0f
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x58], eax
mov eax, dword [edi]
mov dword [esp + 0x5c], eax
mov ax, word [edi + 0x1c]
mov word [esp + 0x68], ax
lea eax, [esp + 0x60]
push eax
movzx eax, word [edi + 0x1a]
push eax
movzx eax, word [edi + 0x18]
push eax
call dword [fcn.004580f0]
push dword [ebx + 0xa8]
lea eax, [esp + 0x4c]
push eax
call dword [ebx + 0x24]
pop ecx
pop ecx
test eax, eax
jne 0x41da0f
push dword [esp + 0x18]
call fcn.004394ea
pop ecx
push dword [esp + 0x20]
call fcn.004394ea
pop ecx
push dword [esp + 0x28]
call fcn.004394ea
pop ecx
push dword [esp + 0x30]
call fcn.004394ea
pop ecx
jmp 0x41d7eb
cmp dword [ebx + 0x9c], esi
je 0x41da41
mov edi, dword [edi]
lea esi, [ebx + 0x64]
call fcn.0041c7e2
mov eax, 0xff000000
mov esi, eax
add ebx, 0x44
push eax
jmp 0x41da30
inc esi
push esi
mov ecx, ebx
call fcn.0041deda
test eax, eax
jge 0x41da2e
mov dword [esp + 0x14], esi
jmp 0x41d9e2
push dword [esp + 0x20]
call fcn.0041ca4c
pop ecx
cmp eax, esi
je 0x41da69
add ebx, 0x70
or dword [esp + 0x14], 0xffffffff
mov dword [ebx + 0x18], 8
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], esi
jmp 0x41d9e2
push 0x180
push 0x8321
push dword [esp + 0x20]
mov eax, ebx
call fcn.0041d4a7
cmp eax, esi
mov dword [esp + 0x14], eax
jg 0x41da9b
add ebx, 0x70
mov dword [ebx + 0x18], 8
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x20], esi
jmp 0x41d9e2
mov ecx, dword [ebx + 8]
xor edx, edx
mov word [ecx], dx
mov ecx, dword [ebx + 0x10]
mov word [ecx], dx
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x20], esi
mov dword [ebx + 4], eax
mov eax, dword [edi]
lea edi, [ebx + 0x10]
push edi
lea esi, [esp + 0x1c]
mov dword [ebx + 0x18], eax
call fcn.0041c6c9
lea eax, [ebx + 8]
push eax
lea esi, [esp + 0x2c]
call fcn.0041c6c9
call dword [0x45821c]
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x41d9e2
mov ecx, dword [edi]
fldz
push dword [ebx + 0xa8]
fstp dword [esp + 0x5c]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x4c]
push ecx
call eax
pop ecx
pop ecx
jmp 0x41d9e2
push dword [ebx + 0x5c]
call fcn.004393c5
pop ecx
cmp eax, dword [ebx + 0x60]
jb 0x41db30
call fcn.0041c60f
cmp eax, esi
mov esi, dword [ebp + 0xc]
mov edi, 0xfde9
jne 0x41db48
push dword [esi + 4]
lea eax, [ebx + 0x5c]
push edi
call fcn.0041c78f
cmp dword [ebx + 0x30], 0
je 0x41dba7
lea eax, [esp + 0x40]
call fcn.0041c5a4
and dword [esp + 0x78], 0
mov eax, dword [esi + 4]
push dword [esi + 0xc]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x38], eax
push edi
lea eax, [esp + 0x48]
call fcn.0041c78f
push dword [ebx + 0xa8]
mov dword [esp + 0x3c], eax
mov ax, word [esi + 0x1e]
mov word [esp + 0x40], ax
mov ax, word [esi + 0x20]
mov word [esp + 0x42], ax
lea eax, [esp + 0x34]
push eax
call dword [ebx + 0x30]
push dword [esp + 0x48]
call fcn.004394ea
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8