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

Disassembly:
sub esp, 0x74
lea eax, [eax + eax*2]
shl eax, 4
mov edx, dword [eax + 0x68bb10]
push esi
mov esi, ecx
mov dword [esp + 0x10], eax
test edx, edx
jns 0x41b2f1
xor eax, eax
pop esi
add esp, 0x74
ret
mov ecx, dword [eax + 0x68bb14]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x68bb20]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x68bb18]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x68bb24]
push ebx
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x68bb1c]
mov eax, dword [eax + 0x68bb28]
push ebp
push edi
mov dword [esp + 0x24], ecx
test esi, esi
je 0x41ba20
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x68bb0c]
mov ebp, ecx
sub ebp, edx
cmp ecx, edx
jge 0x41b361
mov edx, dword [edi + 0x68bb10]
lea esp, [esp]
mov edi, dword [ecx*8 + 0x47b720]
movzx edi, byte [edi]
inc ecx
add ebp, edi
cmp ecx, edx
jl 0x41b350
test ebp, ebp
jle 0x41b3fc
fld1
mov edi, dword [esp + 0x3c]
sub edi, dword [esp + 0x20]
fst dword [esi + 0xc]
fldz
mov ebx, dword [esp + 0x38]
fst dword [esi + 0x18]
sub ebx, dword [esp + 0x34]
fst dword [esi + 0x24]
inc edi
fst dword [esi + 0x10]
sub eax, dword [esp + 0x24]
fst dword [esi + 0x28]
mov dword [esp + 0x10], edi
fst dword [esi + 0x14]
inc ebx
fstp dword [esi + 0x20]
mov dword [esp + 0x18], ebx
inc eax
mov dword [esp + 0x5c], eax
lea edx, [ebx + 2]
fst dword [esi + 0x1c]
imul edx, edi
fstp dword [esi + 0x2c]
fild dword [esp + 0x10]
fld qword [0x441940]
fmul st(1), st(0)
fxch st(1)
fst qword [esp + 0x7c]
lea eax, [edx + ebp*4 + 0x14]
fiadd dword [esp + 0x20]
add eax, eax
push eax
fstp dword [esi]
fild dword [esp + 0x1c]
fmul st(1)
fst qword [esp + 0x78]
fiadd dword [esp + 0x38]
fstp dword [esi + 4]
fimul dword [esp + 0x60]
fst qword [esp + 0x70]
fiadd dword [esp + 0x28]
fstp dword [esi + 8]
call fcn.0040934d
add esp, 4
test eax, eax
jne 0x41b406
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x74
ret
fld qword [esp + 0x7c]
mov ecx, dword [esp + 0x5c]
mov dword [esi + 0x50], eax
fstp dword [eax + 0xc]
fld qword [esp + 0x74]
mov dword [eax + 4], ebx
fstp dword [eax + 0x10]
mov dword [eax + 8], ecx
fld qword [esp + 0x6c]
mov dword [eax + 0x18], ebp
fstp dword [eax + 0x14]
mov dword [eax], edi
mov ecx, dword [esi + 0x50]
add ecx, 0x28
lea ebp, [ecx + ebp*8]
lea edx, [ebp + edi*4]
xor esi, esi
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], esi
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], esi
mov ebx, eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x3c]
jg 0x41ba20
mov ecx, dword [esp + 0x1c]
jmp 0x41b480
mov edx, dword [esp + 0x34]
mov dword [esp + 0x18], edx
cmp edx, dword [esp + 0x38]
jg 0x41b9fa
mov eax, edx
shl eax, 9
mov dword [esp + 0x28], eax
add eax, ebx
mov edi, dword [eax*4 + 0x4fb760]
cmp byte [edi], 0
mov dword [esp + 0x30], edi
je 0x41b9d3
movzx edx, byte [edi]
mov eax, edi
sar eax, 0xf
mov ebx, edi
sar ebx, 3
sub eax, ebx
and eax, 0xfff
mov eax, dword [eax*4 + 0x5fbaa0]
lea edx, [edi + edx*4]
mov dword [esp + 0x2c], edx
test eax, eax
js 0x41b4eb
cmp dword [eax*8 + 0x47b720], edi
je 0x41b4ee
mov eax, dword [eax*8 + 0x47b724]
test eax, eax
jns 0x41b4d7
or eax, 0xffffffff
cmp eax, dword [ecx + 0x68bb10]
jae 0x41b9bc
cmp eax, dword [ecx + 0x68bb0c]
jl 0x41b9bc
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
cmp eax, ecx
jg 0x41b745
mov ecx, dword [esp + 0x10]
lea edx, [ecx - 1]
mov esi, edx
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x18]
or esi, edx
mov dword [esp + 0x44], esi
lea esi, [ecx + 1]
mov dword [esp + 0x7c], esi
or esi, edx
mov dword [esp + 0x48], esi
lea esi, [edx - 1]
inc edx
mov dword [esp + 0x50], esi
or esi, ecx
mov dword [esp + 0x58], edx
or edx, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x4c], esi
lea ebp, [edx + ecx*8 + 6]
mov edi, edi
mov esi, dword [esp + 0x30]
movzx edx, byte [esi + 1]
mov ecx, eax
sub ecx, edx
movzx edi, byte [esi + ecx*4 + 7]
lea esi, [esi + ecx*4 + 4]
movzx ecx, byte [esi + 2]
imul ecx, edi
sar ecx, 7
cmp ecx, 0xff
jl 0x41b58c
mov ecx, 0xff
movzx edx, byte [esi + 1]
imul edx, edi
sar edx, 7
mov ebx, edx
cmp edx, 0xff
jl 0x41b5a5
mov ebx, 0xff
movzx edx, byte [esi]
imul edx, edi
sar edx, 7
cmp edx, 0xff
jl 0x41b5bb
mov edx, 0xff
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edx
mov edx, eax
sub edx, dword [esp + 0x24]
mov ebx, 0x200
mov dword [ebp - 6], ecx
mov word [ebp - 2], dx
cmp dword [esp + 0x44], ebx
jae 0x41b618
mov ecx, dword [esp + 0x74]
add ecx, dword [esp + 0x28]
mov ecx, dword [ecx*4 + 0x4fb760]
movzx edx, byte [ecx + 1]
cmp eax, edx
jl 0x41b618
mov dl, byte [ecx]
test dl, dl
je 0x41b7ac
movzx edx, dl
lea ecx, [ecx + edx*4]
movzx edx, byte [ecx + 3]
cmp eax, edx
jl 0x41b7ac
movzx edx, byte [ecx + 1]
cmp eax, edx
jge 0x41b5f4
mov dword [esp + 0x40], 0
cmp dword [esp + 0x48], ebx
jae 0x41b664
mov ecx, dword [esp + 0x7c]
add ecx, dword [esp + 0x28]
mov ecx, dword [ecx*4 + 0x4fb760]
movzx edx, byte [ecx + 1]
cmp eax, edx
jl 0x41b664
lea ecx, [ecx]
mov dl, byte [ecx]
test dl, dl
je 0x41b7b9
movzx edx, dl
lea ecx, [ecx + edx*4]
movzx edx, byte [ecx + 3]
cmp eax, edx
jl 0x41b7b9
movzx edx, byte [ecx + 1]
cmp eax, edx
jge 0x41b640
xor edi, edi
cmp dword [esp + 0x4c], ebx
jae 0x41b6aa
mov ecx, dword [esp + 0x50]
shl ecx, 9
add ecx, dword [esp + 0x10]
mov ecx, dword [ecx*4 + 0x4fb760]
movzx edx, byte [ecx + 1]
cmp eax, edx
jl 0x41b6aa
mov dl, byte [ecx]
test dl, dl
je 0x41b7c3
movzx edx, dl
lea ecx, [ecx + edx*4]
movzx edx, byte [ecx + 3]
cmp eax, edx
jl 0x41b7c3
movzx edx, byte [ecx + 1]
cmp eax, edx
jge 0x41b686
xor esi, esi
cmp dword [esp + 0x54], ebx
jae 0x41b6f4
mov ecx, dword [esp + 0x58]
shl ecx, 9
add ecx, dword [esp + 0x10]
mov ecx, dword [ecx*4 + 0x4fb760]
movzx edx, byte [ecx + 1]
cmp eax, edx
jl 0x41b6f4
lea esp, [esp]
mov dl, byte [ecx]
test dl, dl
je 0x41b7cd
movzx edx, dl
lea ecx, [ecx + edx*4]
movzx edx, byte [ecx + 3]
cmp eax, edx
jl 0x41b7cd
movzx edx, byte [ecx + 1]
cmp eax, edx
jge 0x41b6d0
xor ecx, ecx
mov edx, dword [esp + 0x30]
movzx ebx, byte [edx + 1]
cmp eax, ebx
sete bl
add bl, bl
test ecx, ecx
sete cl
or bl, cl
add bl, bl
test esi, esi
sete cl
or bl, cl
add bl, bl
test edi, edi
sete cl
or bl, cl
add bl, bl
cmp dword [esp + 0x40], 0
mov byte [ebp + 1], 0
sete cl
inc dword [esp + 0x14]
or bl, cl
mov byte [ebp], bl
movzx edx, byte [edx + 2]
inc eax
add ebp, 8
cmp eax, edx
jle 0x41b560
mov eax, dword [esp + 0x2c]
movzx ecx, byte [eax + 3]
mov eax, dword [esp + 0x30]
movzx edx, byte [eax + 2]
movzx esi, byte [eax + 1]
movzx eax, byte [eax]
sub edx, esi
sub edx, eax
lea eax, [edx + ecx + 2]
cmp eax, ecx
jge 0x41b9a5
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
lea esi, [ebx - 1]
or esi, edx
mov dword [esp + 0x44], esi
lea esi, [ebx + 1]
or esi, edx
mov dword [esp + 0x48], esi
lea esi, [edx - 1]
inc edx
mov dword [esp + 0x50], esi
or esi, ebx
mov dword [esp + 0x58], edx
or edx, ebx
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x5c]
lea ebp, [edx + esi*8 + 6]
jmp 0x41b7db
mov dword [esp + 0x40], 1
jmp 0x41b620
mov edi, 1
jmp 0x41b666
mov esi, 1
jmp 0x41b6ac
mov ecx, 1
jmp 0x41b6f6
mov ebx, dword [esp + 0x10]
mov edx, eax
sub edx, ecx
mov ecx, dword [esp + 0x2c]
movzx edi, byte [ecx + edx*4 + 3]
lea edx, [ecx + edx*4]
movzx ecx, byte [edx + 2]
imul ecx, edi
sar ecx, 7
cmp ecx, 0xff
jl 0x41b802
mov ecx, 0xff
movzx esi, byte [edx + 1]
imul esi, edi
sar esi, 7
cmp esi, 0xff
jl 0x41b819
mov esi, 0xff
movzx edx, byte [edx]
imul edx, edi
sar edx, 7
cmp edx, 0xff
jl 0x41b82f
mov edx, 0xff
shl ecx, 8
or ecx, esi
shl ecx, 8
or ecx, edx
mov edx, eax
sub edx, dword [esp + 0x24]
cmp dword [esp + 0x44], 0x200
mov dword [ebp - 6], ecx
mov word [ebp - 2], dx
jae 0x41b88a
lea ecx, [ebx - 1]
add ecx, dword [esp + 0x28]
mov ecx, dword [ecx*4 + 0x4fb760]
movzx edx, byte [ecx + 1]
cmp eax, edx
jl 0x41b88a
mov dl, byte [ecx]
test dl, dl
je 0x41bbce
movzx edx, dl
lea ecx, [ecx + edx*4]
movzx edx, byte [ecx + 3]
cmp eax, edx
jl 0x41bbce
movzx edx, byte [ecx + 1]
cmp eax, edx
jge 0x41b866
xor ebx, ebx
mov esi, 0x200
cmp dword [esp + 0x48], esi
jae 0x41b8d4
mov ecx, dword [esp + 0x10]
inc ecx
add ecx, dword [esp + 0x28]
mov ecx, dword [ecx*4 + 0x4fb760]
movzx edx, byte [ecx + 1]
cmp eax, edx
jl 0x41b8d4
nop
mov dl, byte [ecx]
test dl, dl
je 0x41bbd8
movzx edx, dl
lea ecx, [ecx + edx*4]
movzx edx, byte [ecx + 3]
cmp eax, edx
jl 0x41bbd8
movzx edx, byte [ecx + 1]
cmp eax, edx
jge 0x41b8b0
xor edi, edi
cmp dword [esp + 0x4c], esi
jae 0x41b91a
mov ecx, dword [esp + 0x50]
shl ecx, 9
add ecx, dword [esp + 0x10]
mov ecx, dword [ecx*4 + 0x4fb760]
movzx edx, byte [ecx + 1]
cmp eax, edx
jl 0x41b91a
mov dl, byte [ecx]
test dl, dl
je 0x41bbe2
movzx edx, dl
lea ecx, [ecx + edx*4]
movzx edx, byte [ecx + 3]
cmp eax, edx
jl 0x41bbe2
movzx edx, byte [ecx + 1]
cmp eax, edx
jge 0x41b8f6
xor esi, esi
cmp dword [esp + 0x54], 0x200
jae 0x41b964
mov ecx, dword [esp + 0x58]
shl ecx, 9
add ecx, dword [esp + 0x10]
mov ecx, dword [ecx*4 + 0x4fb760]
movzx edx, byte [ecx + 1]
cmp eax, edx
jl 0x41b964
mov dl, byte [ecx]
test dl, dl
je 0x41bbec
movzx edx, dl
lea ecx, [ecx + edx*4]
movzx edx, byte [ecx + 3]
cmp eax, edx
jl 0x41bbec
movzx edx, byte [ecx + 1]
cmp eax, edx
jge 0x41b940
xor ecx, ecx
test ecx, ecx
sete cl
add cl, cl
test esi, esi
sete dl
or cl, dl
add cl, cl
test edi, edi
sete dl
or cl, dl
add cl, cl
test ebx, ebx
sete dl
inc dword [esp + 0x14]
or cl, dl
mov byte [ebp], cl
mov ecx, dword [esp + 0x2c]
mov byte [ebp + 1], 0
movzx ecx, byte [ecx + 3]
inc eax
add ebp, 8
cmp eax, ecx
jl 0x41b7d7
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x14]
or byte [ecx + eax*8 - 2], 0x20
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov esi, eax
cmp byte [edx], 0
mov edi, edx
mov dword [esp + 0x30], edx
jne 0x41b4b1
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
mov edi, esi
sub edi, dword [esp + 0x64]
inc edx
mov word [eax], di
add eax, 2
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], esi
mov dword [esp + 0x18], edx
cmp edx, dword [esp + 0x38]
jle 0x41b492
mov eax, dword [esp + 0x68]
mov edx, esi
sub edx, dword [esp + 0x6c]
inc ebx
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
mov dword [esp + 0x10], ebx
cmp ebx, dword [esp + 0x3c]
jle 0x41b480
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
cmp ecx, eax
jg 0x41bbf6
mov edx, dword [esp + 0x20]
mov esi, ecx
shl esi, 9
add esi, edx
sub eax, ecx
mov ecx, dword [esp + 0x1c]
lea esi, [esi*4 + 0x4fb760]
inc eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
cmp edx, eax
jg 0x41bbba
mov esi, dword [esp + 0x58]
sub eax, edx
inc eax
mov dword [esp + 0x5c], esi
mov dword [esp + 0x6c], eax
lea esp, [esp]
mov edx, dword [esp + 0x5c]
mov edi, dword [edx]
cmp byte [edi], 0
je 0x41bba6
nop
movzx eax, byte [edi]
lea ebx, [edi + eax*4]
mov edx, edi
sar edx, 0xf
mov eax, edi
sar eax, 3
sub edx, eax
and edx, 0xfff
mov eax, dword [edx*4 + 0x5fbaa0]
test eax, eax
js 0x41bab7
cmp dword [eax*8 + 0x47b720], edi
je 0x41baba
mov eax, dword [eax*8 + 0x47b724]
test eax, eax
jns 0x41baa3
or eax, 0xffffffff
cmp eax, dword [ecx + 0x68bb10]
jae 0x41bb97
cmp eax, dword [ecx + 0x68bb0c]
jl 0x41bb97
push 0
mov eax, edi
call fcn.0041a1c0
mov ebp, ebx
add esp, 4
sub ebp, edi
cmp byte [ebx], 0
mov esi, ebx
je 0x41bb0a
lea esp, [esp]
mov ecx, esi
sub ecx, ebp
push ecx
mov eax, esi
call fcn.0041a1c0
movzx edx, byte [esi]
lea esi, [esi + edx*4]
add esp, 4
cmp byte [esi], 0
jne 0x41baf0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
movzx edx, byte [ebx]
sub eax, ecx
mov byte [edi], dl
mov cl, byte [ebx + 1]
mov byte [edi + 1], cl
movzx edx, byte [ebx + 2]
lea eax, [eax*4 + 8]
sub eax, ebx
mov byte [edi + 2], dl
add eax, esi
mov edx, 4
cmp eax, edx
jle 0x41bb5b
add eax, 0xfffffffb
shr eax, 2
inc eax
lea ecx, [edi + 4]
lea edx, [eax*4 + 4]
jmp 0x41bb50
mov esi, dword [ecx + ebp]
mov dword [ecx], esi
add ecx, 4
dec eax
jne 0x41bb50
mov ecx, edi
sub ecx, 0x68c120
add ecx, edx
sar ecx, 2
sar ebp, 2
add ebp, ecx
mov eax, 1
rol eax, cl
cmp ecx, ebp
jge 0x41bb91
mov edx, ecx
sar edx, 5
mov esi, eax
lea edx, [edx*4 + 0x5ffac0]
not esi
and dword [edx], esi
inc ecx
rol eax, 1
cmp ecx, ebp
jl 0x41bb78
mov ecx, dword [esp + 0x1c]
mov ebx, edi
cmp byte [ebx], 0
mov edi, ebx
jne 0x41ba80
mov eax, dword [esp + 0x6c]
add dword [esp + 0x5c], 4
dec eax
mov dword [esp + 0x6c], eax
jne 0x41ba70
mov edx, dword [esp + 0x20]
add dword [esp + 0x58], 0x800
dec dword [esp + 0x68]
jne 0x41ba51
jmp 0x41bbfa
mov ebx, 1
jmp 0x41b88c
mov edi, 1
jmp 0x41b8d6
mov esi, 1
jmp 0x41b91c
mov ecx, 1
jmp 0x41b966
mov ecx, dword [esp + 0x1c]
pop edi
pop ebp
pop ebx
mov dword [ecx + 0x68bb10], 0xffffffff
mov eax, 1
pop esi
add esp, 0x74
ret