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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x46faa0
push eax
mov dword fs:[0], esp
sub esp, 0x60
cmp dword [ebp + 0x30], 0
push ebx
push esi
mov esi, dword [ebp + 0x20]
push edi
jbe 0x41f51b
mov al, byte [esi]
cmp al, 0x2b
je 0x41f514
cmp al, 0x2d
jne 0x41f51b
mov ebx, 1
jmp 0x41f51d
xor ebx, ebx
mov edi, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x20], ebx
call fcn.00405780
and eax, 0x3000
cmp eax, 0x3000
je 0x41f53e
mov edx, 0x47bfa8
jmp 0x41f565
lea eax, [ebx + 2]
mov edx, 0x47bfac
cmp eax, dword [ebp + 0x30]
ja 0x41f565
cmp byte [ebx + esi], 0x30
jne 0x41f565
mov cl, byte [ebx + esi + 1]
cmp cl, 0x78
je 0x41f55f
cmp cl, 0x58
jne 0x41f565
mov ebx, eax
mov dword [esp + 0x20], ebx
push edx
push esi
call fcn.00450420
mov dword [esp + 0x30], eax
mov eax, 0x2e
mov word [esp + 0x20], ax
call fcn.0045063e
mov ecx, dword [eax]
lea eax, [esp + 0x20]
mov cl, byte [ecx]
push eax
push esi
mov byte [esp + 0x28], cl
call fcn.00450420
add esp, 0x10
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x2c]
push eax
mov ecx, edi
call fcn.0040d590
push eax
mov dword [esp + 0x78], 0
call fcn.0041fe30
add esp, 4
lea ecx, [esp + 0x2c]
mov esi, eax
mov dword [esp + 0x74], 0xffffffff
call fcn.00406e70
mov edx, dword [esi]
push 0x30
mov edx, dword [edx + 0x20]
mov ecx, esi
call edx
lea ecx, [esp + 0x14]
mov byte [esp + 0x24], al
call fcn.00402cb0
push eax
lea ecx, [esp + 0x3c]
call fcn.004077e0
push 0
push 0
lea ecx, [esp + 0x40]
call fcn.004086c0
push 0
push dword [ebp + 0x30]
lea ecx, [esp + 0x40]
call fcn.00416f40
lea ecx, [esp + 0x38]
mov dword [esp + 0x74], 1
call fcn.004082e0
mov ecx, dword [ebp + 0x20]
mov edx, dword [esi]
push eax
mov eax, dword [ebp + 0x30]
add eax, ecx
push eax
push ecx
mov ecx, esi
call dword [edx + 0x1c]
lea eax, [esp + 0x2c]
push eax
mov ecx, edi
call fcn.0040d590
push eax
mov byte [esp + 0x78], 2
call fcn.00420340
mov esi, eax
add esp, 4
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], esi
mov byte [esp + 0x74], 1
call fcn.00406e70
lea eax, [esp + 0x50]
push eax
mov ecx, esi
call fcn.00417b80
mov byte [esp + 0x74], 3
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x13], al
cmp ecx, dword [ebp + 0x30]
jne 0x41f699
push dword [esp + 0x24]
mov ecx, dword [ebp + 0x24]
mov eax, dword [esp + 0x2c]
push ecx
lea esi, [eax + ecx]
push eax
lea ecx, [esp + 0x44]
call fcn.0041f300
jmp 0x41f6f5
mov edi, dword [esp + 0x24]
mov esi, dword [ebp + 0x24]
push edi
push dword [ebp + 0x2c]
add esi, ecx
push dword [esp + 0x30]
lea ecx, [esp + 0x44]
call fcn.0041f300
mov eax, dword [esp + 0x1c]
push edi
push dword [ebp + 0x28]
inc eax
push eax
lea ecx, [esp + 0x44]
call fcn.0041f300
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea ecx, [esp + 0x38]
mov bl, al
call fcn.004082e0
mov ecx, dword [esp + 0x1c]
push edi
push dword [ebp + 0x24]
mov byte [eax + ecx], bl
push ecx
lea ecx, [esp + 0x44]
call fcn.0041f300
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x50]
call fcn.004082e0
mov edi, eax
mov al, byte [edi]
cmp al, 0x7f
je 0x41f7c4
lea ebx, [ebx]
test al, al
jle 0x41f7c4
movsx ecx, al
mov eax, esi
sub eax, ebx
cmp ecx, eax
jae 0x41f7c4
sub esi, ecx
mov ecx, dword [esp + 0x48]
cmp ecx, esi
jb 0x41f80a
or eax, 0xffffffff
sub eax, ecx
cmp eax, 1
jbe 0x41f801
lea eax, [ecx + 1]
push 0
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x38], eax
call fcn.00408760
test al, al
je 0x41f7b0
mov eax, dword [esp + 0x48]
sub eax, esi
push eax
lea ecx, [esp + 0x3c]
call fcn.004082e0
add eax, esi
push eax
lea ecx, [esp + 0x40]
call fcn.004082e0
inc eax
add eax, esi
push eax
call fcn.00408220
mov al, byte [esp + 0x1f]
add esp, 0xc
mov byte [esp + 0x14], al
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x3c]
call fcn.004082e0
add eax, esi
push eax
call fcn.00408840
add esp, 8
lea ecx, [esp + 0x38]
push dword [esp + 0x30]
call fcn.00408850
cmp byte [edi + 1], 0
lea eax, [edi + 1]
cmovg edi, eax
mov al, byte [edi]
cmp al, 0x7f
jne 0x41f710
lea ecx, [esp + 0x38]
call fcn.00407840
mov edi, dword [ebp + 0x18]
mov esi, eax
mov ecx, edi
mov dword [esp + 0x28], esi
call fcn.00409b50
test edx, edx
jl 0x41f813
jg 0x41f7e7
test eax, eax
je 0x41f813
mov ecx, edi
call fcn.00409b50
cmp eax, esi
jbe 0x41f813
mov ecx, edi
call fcn.00409b50
mov esi, eax
sub esi, dword [esp + 0x28]
jmp 0x41f815
lea ecx, [esp + 0x38]
call fcn.00407a80
lea ecx, [esp + 0x38]
call fcn.00407890
xor esi, esi
mov ecx, edi
call fcn.00405780
and eax, 0x1c0
cmp eax, 0x40
je 0x41f8a5
cmp eax, 0x100
je 0x41f860
mov edi, dword [ebp + 8]
push esi
push dword [ebp + 0x1c]
lea eax, [esp + 0x38]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push edi
call fcn.0041fd70
mov ecx, dword [eax]
mov dword [ebp + 0x10], ecx
mov eax, dword [eax + 4]
add esp, 0x18
lea ecx, [esp + 0x38]
mov dword [ebp + 0x14], eax
xor esi, esi
call fcn.004082e0
jmp 0x41f8b1
lea ecx, [esp + 0x38]
call fcn.004082e0
mov edi, dword [ebp + 8]
push ebx
push eax
push dword [ebp + 0x14]
lea eax, [esp + 0x3c]
push dword [ebp + 0x10]
push eax
push edi
call fcn.0041fcf0
mov ecx, dword [eax]
push esi
push dword [ebp + 0x1c]
mov dword [ebp + 0x10], ecx
mov ecx, dword [eax + 4]
mov dword [ebp + 0x14], ecx
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0x58]
push eax
push edi
call fcn.0041fd70
add esp, 0x30
xor esi, esi
jmp 0x41f8c7
lea ecx, [esp + 0x38]
call fcn.004082e0
mov edi, dword [ebp + 8]
push ebx
push eax
push dword [ebp + 0x14]
lea eax, [esp + 0x3c]
push dword [ebp + 0x10]
push eax
push edi
call fcn.0041fcf0
add esp, 0x18
mov ecx, dword [eax]
mov dword [ebp + 0x10], ecx
mov eax, dword [eax + 4]
lea ecx, [esp + 0x38]
mov dword [ebp + 0x14], eax
call fcn.004082e0
mov ecx, dword [esp + 0x28]
sub ecx, ebx
push ecx
add eax, ebx
push eax
push dword [ebp + 0x14]
lea eax, [esp + 0x3c]
push dword [ebp + 0x10]
push eax
push edi
call fcn.0041fcf0
mov edx, dword [eax]
mov ecx, dword [ebp + 0x18]
add esp, 0x18
mov dword [ebp + 0x10], edx
mov eax, dword [eax + 4]
push 0
push 0
mov dword [ebp + 0x14], eax
call fcn.00409b10
push esi
push dword [ebp + 0x1c]
mov esi, dword [ebp + 0xc]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
push edi
call fcn.0041fd70
add esp, 0x18
lea ecx, [esp + 0x50]
call fcn.00408190
lea ecx, [esp + 0x38]
call fcn.00408190
mov ecx, dword [esp + 0x6c]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret