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

Disassembly:
sub esp, 0xb8
mov edx, dword [esp + 0xce]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xcd]
xor eax, eax
mov ah, byte [esp + 0xcc]
and ecx, 0xff
or eax, ecx
and edx, 0xff
shl eax, 8
or eax, edx
push ebx
mov dword [esp + 0x38], eax
mov eax, 1
push ebp
push esi
mov word [esp + 0x56], ax
mov word [esp + 0x62], ax
mov eax, dword [esp + 0xd4]
push edi
xor edi, edi
push eax
mov word [esp + 0x5c], di
mov word [esp + 0x60], di
mov word [esp + 0x62], di
mov word [esp + 0x64], di
mov word [esp + 0x66], di
mov word [esp + 0x68], di
call fcn.00452920
mov esi, eax
add esp, 4
cmp esi, edi
mov dword [esp + 0x40], esi
jne 0x41f4e4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xb8
ret 0x18
push edi
call dword [0x4730ec]
mov ecx, dword [esp + 0xd4]
mov ebp, dword [0x4730f0]
mov ebx, eax
push ecx
push ebx
mov dword [esp + 0x7c], ebx
call ebp
lea edx, [esp + 0x58]
mov dword [esp + 0x50], eax
push edx
push edi
lea eax, [esp + 0x84]
push edi
push eax
push 6
push esi
push ebx
call dword [0x4730c0]
mov esi, eax
cmp esi, 0xffffffff
jne 0x41f544
mov ecx, dword [esp + 0x50]
push ecx
push ebx
call ebp
push ebx
call dword [0x4730c4]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xb8
ret 0x18
cmp esi, edi
jne 0x41f556
mov edx, dword [esp + 0x50]
push edx
push ebx
call ebp
push ebx
jmp 0x41fac3
push esi
call fcn.00461d88
mov ecx, esi
mov edx, eax
mov ebp, ecx
xor eax, eax
mov edi, edx
add esp, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebp
mov dword [esp + 0x28], edx
and ecx, 3
mov dword [esp + 0x78], edx
rep stosb byte es:[edi], al
lea eax, [esp + 0x58]
lea ecx, [esp + 0x7c]
push eax
push edx
mov edx, dword [esp + 0x48]
push esi
push ecx
push 6
push edx
push ebx
call dword [0x4730c0]
lea eax, [esp + 0x90]
push eax
push ebx
call dword [0x4730c8]
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0xcc]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0xd0]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x88]
add ebp, edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x38], eax
add eax, 3
sub edx, ecx
mov ecx, dword [esp + 0x3c]
and eax, 0xfffc
mov dword [esp + 0x40], eax
add ebx, edx
mov eax, dword [ecx]
call dword [eax + 0x4c]
shl eax, 2
mov edi, eax
mov dword [esp + 0x14], eax
imul edi, ebx
mov ebx, dword [esp + 0x3c]
mov ecx, ebx
mov edx, dword [ebx]
shl ebp, 2
call dword [edx + 0x64]
add eax, ebp
mov ecx, ebx
add eax, edi
mov dword [esp + 0x4c], eax
mov eax, dword [ebx]
call dword [eax + 0x64]
mov edx, dword [ebx]
mov ecx, ebx
mov dword [esp + 0x24], eax
call dword [edx + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x64]
mov ecx, dword [esp + 0x34]
add ecx, eax
mov eax, dword [ebx + 0x6c]
test al, 0x20
mov dword [esp + 0x2c], ecx
je 0x41f655
mov ebx, dword [esp + 0x14]
lea edx, [ebx + ebx*2 + 0xc]
mov dword [esp + 0x34], edx
jmp 0x41f663
mov ecx, dword [esp + 0x14]
mov ebx, ecx
lea edx, [ecx + ecx + 8]
mov dword [esp + 0x34], edx
test al, 8
jne 0x41f685
xor eax, eax
test esi, esi
jbe 0x41f685
mov ecx, dword [esp + 0x28]
cmp byte [eax + ecx], 0x20
sbb dl, dl
and dl, 0xc0
add dl, 0x40
mov byte [eax + ecx], dl
inc eax
cmp eax, esi
jb 0x41f66d
mov ecx, dword [esp + 0x3c]
test byte [ecx + 0x6c], 0x20
je 0x41f7e8
mov eax, dword [ecx]
call dword [eax + 0x64]
mov ecx, dword [esp + 0x28]
add eax, ebp
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x54]
add eax, edi
test ecx, ecx
jle 0x41f7e8
lea edi, [eax + 7]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x38]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x20], eax
jle 0x41f7c1
mov edx, dword [esp + 0x18]
mov al, byte [eax + edx]
test al, al
je 0x41f7a9
mov edx, dword [esp + 0x24]
lea ecx, [edi - 7]
cmp ecx, edx
jb 0x41f7a9
cmp ecx, dword [esp + 0x2c]
jae 0x41f7c1
and eax, 0xff
shl eax, 2
test eax, eax
jge 0x41f705
xor dl, dl
jmp 0x41f713
cmp eax, 0xff
jle 0x41f711
or dl, 0xff
jmp 0x41f713
mov dl, al
lea ebp, [edi - 7]
mov byte [esp + 0x10], dl
mov eax, dword [esp + 0x10]
mov ecx, ebp
sub ecx, ebx
and eax, 0xff
shl eax, 0x18
lea esi, [ecx - 4]
mov dword [ebp], eax
cmp esi, dword [esp + 0x24]
jb 0x41f73d
cmp byte [esi + 3], dl
jae 0x41f73d
mov dword [esi], eax
mov esi, dword [esp + 0x24]
cmp ecx, esi
jb 0x41f74c
cmp byte [ecx + 3], dl
jae 0x41f74c
mov dword [ecx], eax
add ecx, 4
cmp ecx, esi
jb 0x41f75a
cmp byte [ecx + 3], dl
jae 0x41f75a
mov dword [ecx], eax
lea ecx, [edi - 0xb]
cmp ecx, esi
jb 0x41f769
cmp byte [edi - 8], dl
jae 0x41f769
mov dword [edi - 0xb], eax
mov esi, dword [esp + 0x2c]
lea ecx, [edi - 3]
cmp ecx, esi
jae 0x41f77b
cmp byte [edi], dl
jae 0x41f77b
mov dword [edi - 3], eax
lea ecx, [ebx + ebp - 4]
cmp ecx, esi
jae 0x41f78a
cmp byte [ecx + 3], dl
jae 0x41f78a
mov dword [ecx], eax
lea ecx, [ebx + edi - 7]
cmp ecx, esi
jae 0x41f79a
cmp byte [edi + ebx - 4], dl
jae 0x41f79a
mov dword [ecx], eax
lea ecx, [ebx + edi - 3]
cmp ecx, esi
jae 0x41f7a9
cmp byte [edi + ebx], dl
jae 0x41f7a9
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
inc eax
add edi, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x41f6cd
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
add edi, ebx
add ecx, edx
dec eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], eax
jne 0x41f6bb
mov eax, dword [esp + 0x54]
mov dword [esp + 0x18], 0
test eax, eax
jle 0x41faa5
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
jae 0x41faa5
mov ecx, dword [esp + 0x38]
xor esi, esi
test ecx, ecx
mov dword [esp + 0x20], esi
jle 0x41fa78
mov edx, dword [esp + 0x34]
mov ecx, 0xfffffffe
sub ecx, edx
mov edi, 0xfffffffd
mov dword [esp + 0x30], ecx
or ecx, 0xffffffff
sub ecx, edx
sub edi, edx
lea ebp, [eax + 3]
lea eax, [edx + eax + 3]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x6c], edi
jmp 0x41f84e
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x28]
mov cl, byte [esi + ecx]
test cl, cl
je 0x41fa5d
and ecx, 0xff
shl ecx, 2
cmp ecx, 0xff
jle 0x41f873
or dl, 0xff
jmp 0x41f875
mov dl, cl
mov ecx, dword [esp + 0x24]
add edi, eax
cmp edi, ecx
mov byte [esp + 0x10], dl
jb 0x41fa5d
cmp edi, dword [esp + 0x2c]
jae 0x41fa78
mov ecx, dword [esp + 0xe0]
mov esi, dword [esp + 0x10]
and ecx, 0x20
mov dword [esp + 0x68], ecx
je 0x41f904
cmp byte [ebp], 0
jne 0x41f8b3
mov byte [ebp], dl
jmp 0x41f99c
mov ebx, dword [esp + 0x46]
mov ecx, esi
and ecx, 0xff
and ebx, 0xff
imul ebx, ecx
sar ebx, 8
mov byte [edi], bl
mov ebx, dword [esp + 0x45]
and ebx, 0xff
mov edi, dword [esp + 0x30]
imul ebx, ecx
sar ebx, 8
mov byte [edi + eax], bl
mov ebx, dword [esp + 0x44]
and ebx, 0xff
mov byte [ebp], 0xff
imul ebx, ecx
mov ecx, dword [esp + 0x1c]
sar ebx, 8
mov byte [ecx + eax], bl
jmp 0x41f998
mov cl, byte [edi]
mov ebx, dword [esp + 0x46]
mov edx, ecx
and ebx, 0xff
and edx, 0xff
and esi, 0xff
sub ebx, edx
imul ebx, esi
sar ebx, 8
add bl, cl
mov byte [edi], bl
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x45]
mov cl, byte [edi + eax]
and ebx, 0xff
mov edx, ecx
and edx, 0xff
sub ebx, edx
imul ebx, esi
sar ebx, 8
add bl, cl
mov byte [edi + eax], bl
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x44]
mov cl, byte [edi + eax]
and ebx, 0xff
mov edx, ecx
and edx, 0xff
sub ebx, edx
imul ebx, esi
sar ebx, 8
add bl, cl
mov cl, byte [ebp]
mov edx, ecx
mov byte [edi + eax], bl
and edx, 0xff
mov ebx, esi
sub ebx, edx
mov dl, byte [esp + 0x10]
imul ebx, esi
mov esi, dword [esp + 0x10]
sar ebx, 8
add bl, cl
mov byte [ebp], bl
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
test byte [ecx + 0x6c], 0x10
je 0x41fa5d
mov edi, dword [esp + 0x24]
lea ecx, [eax - 3]
cmp ecx, edi
jb 0x41fa5d
cmp ecx, dword [esp + 0x2c]
jae 0x41fa78
shr dl, 1
mov cl, dl
mov dl, byte [eax]
cmp dl, cl
mov byte [esp + 0x70], cl
jae 0x41fa5d
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x41f9ef
mov edx, dword [esp + 0x70]
and edx, 0xff
shl edx, 0x18
mov dword [eax - 3], edx
jmp 0x41fa5d
mov cl, byte [eax - 3]
and esi, 0xff
mov ebx, ecx
mov edi, edx
and ebx, 0xff
and edi, 0xff
imul ebx, esi
neg ebx
sar ebx, 8
add bl, cl
mov cl, byte [eax - 2]
mov byte [eax - 3], bl
mov ebx, ecx
and ebx, 0xff
imul ebx, esi
neg ebx
sar ebx, 8
add bl, cl
mov cl, byte [eax - 1]
mov byte [eax - 2], bl
mov ebx, ecx
and ebx, 0xff
imul ebx, esi
neg ebx
sar ebx, 8
add bl, cl
mov ecx, esi
sub ecx, edi
mov byte [eax - 1], bl
imul ecx, esi
sar ecx, 8
add cl, dl
cmp dl, cl
jbe 0x41fa57
mov cl, dl
mov ebx, dword [esp + 0x14]
mov byte [eax], cl
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
inc esi
add ebp, 4
add eax, 4
cmp esi, ecx
mov dword [esp + 0x20], esi
jl 0x41f84a
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x54]
add esi, eax
mov eax, dword [esp + 0x18]
add edi, ebx
inc eax
cmp eax, ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x18], eax
jl 0x41f7fc
mov ecx, dword [esp + 0x78]
push ecx
call fcn.00461db1
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x78]
add esp, 4
push edx
push esi
call dword [0x4730f0]
push esi
call dword [0x4730c4]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xb8
ret 0x18