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

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 0xa0
xor edx, edx
mov al, byte [ecx]
test al, al
je 0x41f835
cmp al, 0x61
jl 0x41f82e
cmp al, 0x7a
jg 0x41f82e
sub al, 0x20
mov byte [ecx], al
inc ecx
inc edx
cmp edx, 0x10
jl 0x41f81c
push ebx
push ebp
mov ebp, dword [0x47db08]
xor ebx, ebx
test ebp, ebp
mov dword [esp + 0x18], ebx
jle 0x41fcc4
push esi
push edi
mov eax, 0x47db08
test eax, eax
je 0x41fcb5
cmp ebx, ebp
jge 0x41fcb5
test ebx, ebx
jl 0x41fcb5
mov edi, dword [0x47db14]
mov ecx, dword [0x47db18]
imul edi, ebx
add edi, ecx
test edi, edi
mov dword [esp + 0x18], edi
je 0x41fcb5
mov esi, dword [esp + 0xb4]
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41f8b4
test cl, cl
je 0x41f8b0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41f8b4
add eax, 2
add esi, 2
test cl, cl
jne 0x41f890
xor eax, eax
jmp 0x41f8b9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41fcb5
mov eax, dword [edi + 0x10]
shl eax, 2
push eax
call fcn.00450d2b
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x8c], eax
xor eax, eax
add esp, 4
cmp ecx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
jbe 0x41faf7
lea ecx, [edi + 0x14]
neg edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x10]
mov edi, dword [0x4839e8]
mov ecx, 0x4839d8
mov eax, dword [edx]
mov edx, dword [0x4839d8]
test ecx, ecx
mov ecx, dword [0x4839e4]
je 0x41f929
cmp eax, edx
jge 0x41f929
test eax, eax
jl 0x41f929
imul eax, ecx
add eax, edi
jmp 0x41f92b
xor eax, eax
mov ebp, dword [eax + 0x34]
mov ebx, dword [eax + 0x7c]
mov eax, dword [0x46b7c4]
cmp eax, 0xffffffff
jne 0x41f996
cmp edx, dword [0x4839dc]
jl 0x41f97e
mov edx, dword [0x4839e0]
push edx
push 0x4839d8
call fcn.00407e80
add esp, 8
test eax, eax
jne 0x41f96c
mov edx, dword [0x4839d8]
xor esi, esi
dec edx
mov dword [esi + 0x80], edx
jmp 0x41f9ba
mov ecx, dword [0x4839e4]
mov edi, dword [0x4839e8]
mov edx, dword [0x4839d8]
inc edx
mov dword [0x4839d8], edx
lea esi, [edx - 1]
imul esi, ecx
add esi, edi
dec edx
mov dword [esi + 0x80], edx
jmp 0x41f9ba
mov esi, 0x4839d8
test esi, esi
je 0x41f9b0
cmp eax, edx
jge 0x41f9b0
test eax, eax
jl 0x41f9b0
imul ecx, eax
add ecx, edi
mov esi, ecx
jmp 0x41f9b2
xor esi, esi
mov eax, dword [esi + 4]
mov dword [0x46b7c4], eax
mov ecx, dword [esp + 0xcc]
mov edi, dword [esi + 0x80]
push ecx
push esi
call fcn.0041be40
mov edx, dword [esp + 0x18]
mov dword [esi + 0x7c], ebx
mov ebx, dword [esp + 0xd4]
mov ecx, 0x4839d8
add esp, 8
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebp
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x80], edi
mov eax, dword [edx]
mov edx, dword [0x4839e8]
mov esi, dword [0x4839d8]
test ecx, ecx
mov ecx, dword [0x4839e4]
je 0x41fa1f
cmp eax, esi
jge 0x41fa1f
test eax, eax
jl 0x41fa1f
imul eax, ecx
add eax, edx
mov ebp, eax
jmp 0x41fa21
xor ebp, ebp
mov eax, 0x4839d8
test eax, eax
je 0x41fa3b
cmp edi, esi
jge 0x41fa3b
test edi, edi
jl 0x41fa3b
mov esi, edi
imul esi, ecx
add esi, edx
jmp 0x41fa3d
xor esi, esi
push 0xb0
push ebp
push esi
call fcn.00450dd0
push ebx
push esi
call fcn.0041be40
mov eax, dword [esp + 0xd8]
mov ecx, dword [ebp + 0x7c]
add esp, 0x14
cmp eax, 0xffffffff
mov dword [esi + 0x7c], ecx
jne 0x41fa6d
mov edx, dword [ebp + 0x34]
mov dword [esi + 0x34], edx
jmp 0x41fa70
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x7c]
mov ecx, 0x484ec8
test ecx, ecx
mov dword [esi + 0x80], edi
je 0x41fa9d
cmp eax, dword [0x484ec8]
jge 0x41fa9d
test eax, eax
jl 0x41fa9d
imul eax, dword [0x484ed4]
add eax, dword [0x484ed8]
jmp 0x41fa9f
xor eax, eax
mov ecx, dword [eax]
or ecx, 0x10
mov dword [eax], ecx
mov esi, dword [esi + 0x34]
cmp dword [esp + 0x14], esi
jae 0x41fab3
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x88]
lea edx, [ecx + eax - 0x14]
lea ecx, [esp + ecx + 0x84]
add eax, 4
mov dword [edx + esi], edi
mov dword [ecx + eax - 4], edi
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [eax + 0x10]
jb 0x41f8f9
mov ebx, dword [esp + 0x20]
mov edi, eax
mov eax, dword [esp + 0xbc]
xor ebp, ebp
cmp eax, ebp
je 0x41fb16
push 0xc
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.00450dd0
add esp, 0xc
jmp 0x41fb46
mov dword [esp + 0x28], 0
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], 0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0xc0]
cmp eax, ebp
je 0x41fb63
push 0xc
lea edx, [esp + 0x44]
push eax
push edx
call fcn.00450dd0
add esp, 0xc
jmp 0x41fb75
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
mov esi, dword [esp + 0xc8]
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0xb8]
cmp esi, ebp
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], 0x41e6d0
mov dword [esp + 0x4c], ecx
je 0x41fbc3
push 0x10
lea edx, [esp + 0x70]
push esi
push edx
call fcn.00450dd0
add esp, 0xc
lea eax, [esi + 0x10]
add esi, 0x1c
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], esi
jmp 0x41fbe0
xor ecx, ecx
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov eax, dword [edi + 0x10]
xor esi, esi
cmp eax, ebp
jbe 0x41fc0c
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0xcc]
push edx
mov ecx, dword [eax + esi*4]
push ecx
call fcn.0041d720
mov eax, dword [edi + 0x10]
add esp, 8
inc esi
cmp esi, eax
jb 0x41fbe9
mov eax, dword [esp + 0xc4]
cmp eax, 0xffffffff
jne 0x41fc25
mov edx, dword [esp + 0x14]
mov dword [esp + 0x90], edx
jmp 0x41fc2c
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xcc]
lea edx, [esp + 0x54]
push ecx
push edx
mov dword [esp + 0x9c], eax
call fcn.00451b32
mov eax, dword [0x47f8d0]
mov ecx, dword [0x47f8d4]
add esp, 8
cmp eax, ecx
jl 0x41fc76
mov ecx, dword [0x47f8d8]
push ecx
push 0x47f8d0
call fcn.00407e80
add esp, 8
test eax, eax
je 0x41fca4
mov eax, dword [0x47f8dc]
mov esi, dword [0x47f8e0]
push eax
imul eax, dword [0x47f8d0]
lea edx, [esp + 0x38]
add eax, esi
push edx
push eax
call fcn.00450dd0
mov eax, dword [0x47f8d0]
add esp, 0xc
inc eax
mov dword [0x47f8d0], eax
mov eax, dword [0x47e8c0]
mov ebp, dword [0x47db08]
inc eax
mov dword [0x47e8c0], eax
inc ebx
cmp ebx, ebp
mov dword [esp + 0x20], ebx
jl 0x41f84d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret