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

Disassembly:
sub esp, 0xc74
mov eax, dword [0x871740]
mov eax, dword [eax + 0x34]
push ebx
push ebp
mov ebp, dword [0x738b9c]
push esi
mov esi, dword [esp + 0xc84]
and esi, 0xffff
imul esi, esi, 0x724
xor ebx, ebx
add eax, esi
mov word [esp + 0x7a], bx
mov word [esp + 0x78], bx
mov word [esp + 0x67e], bx
mov word [esp + 0x67c], bx
mov cl, byte [eax + 6]
test cl, cl
push edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], ebx
je 0x41d933
mov edx, dword [eax + 0x28]
mov ecx, dword [0x87173c]
mov edi, dword [ecx + 0x34]
and edx, 0xffff
imul edx, edx, 0x98
add edx, edi
xor eax, eax
mov ecx, 0x10
lea edi, [esp + 0x3c]
rep stosd dword es:[edi], eax
mov ax, word [edx + 2]
cmp ax, bx
mov byte [esp + 0x13], bl
jle 0x41d95f
mov ecx, dword [0x851c30]
mov ecx, dword [ecx + 0x34]
movzx eax, ax
mov dword [esp + 0x20], ecx
add edx, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [edx]
and eax, 0xffff
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + ecx*4 + 8]
mov ax, word [ecx + 0x9c]
cmp ax, 0xffff
je 0x41d913
mov ecx, dword [ebp + 0x134]
movsx eax, ax
add ecx, 0x1f
sar ecx, 5
imul ecx, eax
mov eax, dword [ebp + 0x14c]
lea edi, [eax + ecx*4]
movsx eax, word [ebp + 0x134]
add eax, 0x1f
sar eax, 5
dec eax
cmp ax, bx
jl 0x41d90e
movsx ecx, ax
lea ebx, [esp + 0x3c]
sub edi, ebx
inc eax
lea ecx, [esp + ecx*4 + 0x3c]
movzx eax, ax
mov ebx, dword [edi + ecx]
or dword [ecx], ebx
sub ecx, 4
dec eax
jne 0x41d901
xor ebx, ebx
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x18]
add edx, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x41d8a3
mov al, byte [esp + 0x13]
test al, al
je 0x41d95f
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1c], ecx
jmp 0x41d95f
mov ax, word [eax + 0x148]
cmp ax, 0xffff
je 0x41d95f
mov edx, dword [ebp + 0x134]
mov ecx, dword [ebp + 0x14c]
add edx, 0x1f
movsx eax, ax
sar edx, 5
imul edx, eax
lea edx, [ecx + edx*4]
mov dword [esp + 0x1c], edx
mov eax, dword [0x851c4c]
mov ecx, dword [0x871740]
inc eax
mov dword [0x851c4c], eax
mov eax, dword [0x6b235c]
mov byte [eax + 1], 1
mov edx, dword [ecx + 0x34]
mov eax, dword [esi + edx + 0x50]
mov dword [esp + 0x2c], eax
mov ebp, dword [esp + 0x2c]
cmp ebp, 0xffffffff
mov dword [esp + 0x28], ebp
je 0x41de59
mov ecx, dword [0x8716a0]
mov edx, dword [ecx + 0x34]
and ebp, 0xffff
imul ebp, ebp, 0x138
mov ax, word [ebp + edx + 0x24]
add ebp, edx
cmp ax, 4
mov edx, dword [ebp + 8]
mov dword [esp + 0x2c], edx
jl 0x41d9c4
cmp ax, 5
jle 0x41d984
fld dword [ebp + 0x11c]
mov eax, dword [ebp + 0x20]
mov esi, dword [0x871740]
fld st(0)
mov di, word [ebp + 0x6a]
fmul st(1)
mov cl, byte [ebp + 0x12e]
mov dl, byte [ebp + 0x63]
mov esi, dword [esi + 0x34]
fstp dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x1c]
fstp st(0)
cmp eax, 0xffffffff
jne 0x41d9fd
xor eax, eax
jmp 0x41da0a
and eax, 0xffff
imul eax, eax, 0x724
add eax, esi
test cl, cl
mov byte [esp + 0x12], 0
je 0x41da1a
mov bl, 1
jmp 0x41dbed
test eax, eax
je 0x41da33
mov cl, byte [eax + 8]
test cl, cl
je 0x41da2c
mov cl, byte [eax + 0x13]
test cl, cl
je 0x41da33
xor bl, bl
jmp 0x41dbed
test dl, dl
jne 0x41da3c
test di, di
jle 0x41da43
mov bl, 1
jmp 0x41dbed
fld dword [esp + 0x18]
fcomp dword [0x66c73c]
fnstsw ax
test ah, 0x41
jne 0x41da5b
xor bl, bl
jmp 0x41dbed
mov al, byte [ebp + 0x127]
test al, al
je 0x41db8c
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + esi + 0x34]
cmp eax, 0xffffffff
mov bl, 1
je 0x41db11
mov edx, dword [0x8716a8]
mov edi, dword [edx + 0x34]
mov ecx, dword [ebp + 0x18]
mov edx, dword [0x851c30]
mov edx, dword [edx + 0x34]
and eax, 0xffff
imul eax, eax, 0x6c
and ecx, 0xffff
add eax, edi
lea ecx, [ecx + ecx*2]
mov edi, dword [edx + ecx*4 + 8]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x58]
mov edx, dword [edx + esi + 0x3a0]
cmp ecx, edx
jg 0x41dabc
mov ecx, edx
cmp ecx, 0xffffffff
je 0x41dad2
mov edi, dword [edi + 0x41c]
cmp edi, 0xffffffff
je 0x41dad0
cmp edi, ecx
jge 0x41dad2
xor bl, bl
mov cl, byte [eax + 0x45]
test cl, cl
jne 0x41daeb
mov cl, byte [eax + 0x44]
test cl, cl
jne 0x41daeb
mov cl, byte [eax + 0x42]
test cl, cl
jne 0x41daeb
mov al, 1
jmp 0x41daed
xor al, al
test bl, bl
je 0x41dbed
test al, al
je 0x41db11
fld dword [esp + 0x18]
fcomp dword [0x66c738]
fnstsw ax
test ah, 5
jp 0x41db51
mov bl, 1
jmp 0x41dbed
fld dword [esp + 0x20]
fcomp dword [0x66c40c]
fnstsw ax
test ah, 0x41
jne 0x41db29
mov bl, 1
jmp 0x41dbed
mov al, byte [ebp + 0x60]
test al, al
je 0x41db3f
cmp word [ebp + 0x76], 0x96
jle 0x41db3f
xor bl, bl
jmp 0x41dbed
mov eax, dword [esp + 0xc88]
call fcn.0040e770
cmp ax, 1
jle 0x41db58
xor bl, bl
jmp 0x41dbed
mov al, byte [ebp + 0x60]
fld dword [0x66c734]
test al, al
jne 0x41db79
mov eax, dword [esp + 0x14]
cmp word [eax + esi + 0x6a], 3
jge 0x41db79
fstp st(0)
fld dword [0x66c4e0]
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x41db51
mov bl, 1
jmp 0x41dbed
mov al, byte [ebp + 0x60]
fld dword [esp + 0x18]
test al, al
je 0x41dba1
fcomp dword [0x66c684]
mov bl, 1
jmp 0x41dbdc
fcomp dword [0x66c738]
fnstsw ax
test ah, 5
jp 0x41dbb2
mov bl, 1
jmp 0x41dbb4
xor bl, bl
mov eax, dword [esp + 0x14]
cmp word [eax + esi + 0x6e], 4
jl 0x41dbc7
mov byte [esp + 0x12], 1
jmp 0x41dbed
mov cl, byte [eax + esi + 0x1cc]
test cl, cl
jne 0x41dbe8
fld dword [esp + 0x18]
fcomp dword [0x66c734]
fnstsw ax
mov byte [esp + 0x12], 1
test ah, 0x41
je 0x41dbed
mov byte [esp + 0x12], 0
test bl, bl
mov byte [esp + 0x13], bl
je 0x41dc72
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x41dc72
mov eax, dword [ebp + 0x18]
lea esi, [esp + 0x30]
mov byte [esp + 0x13], 0
call fcn.004f1b50
cmp ax, 0xffff
je 0x41dc72
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
movsx edx, ax
mov ecx, edx
and ecx, 0x1f
mov eax, 1
shl eax, cl
sar edx, 5
test dword [ebx + edx*4], eax
jne 0x41dc69
cmp esi, 0xffffffff
je 0x41dc5c
mov edx, dword [edi + 8]
mov eax, esi
and eax, 0xffff
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x34]
mov esi, dword [eax + ecx*4 + 8]
lea ecx, [eax + ecx*4]
mov ecx, dword [ecx + 4]
jmp 0x41dc5f
or ecx, 0xffffffff
cmp cx, 0xffff
mov eax, ecx
jne 0x41dc24
jmp 0x41dc6e
mov byte [esp + 0x13], 1
mov dword [esp + 0x34], esi
mov al, byte [ebp + 0x14]
test al, al
je 0x41dd3e
mov eax, dword [ebp + 0x1c]
cmp eax, 0xffffffff
je 0x41dd3e
mov ecx, dword [0x871740]
mov edx, dword [ecx + 0x34]
mov esi, dword [0x851c30]
mov edi, dword [0x851c4c]
and eax, 0xffff
imul eax, eax, 0x724
add eax, edx
mov eax, dword [eax + 0x28]
cmp eax, 0xffffffff
je 0x41dcfa
mov edx, dword [0x87173c]
mov ecx, dword [edx + 0x34]
and eax, 0xffff
imul eax, eax, 0x98
add eax, ecx
mov ecx, eax
xor edx, edx
cmp word [ecx + 2], dx
jle 0x41dd4a
mov ebx, dword [esi + 0x34]
movsx eax, dx
mov eax, dword [ecx + eax*4 + 0x18]
and eax, 0xffff
lea eax, [eax + eax*2]
mov eax, dword [ebx + eax*4 + 8]
cmp dword [eax + 0x14], edi
je 0x41dcf1
mov dword [eax + 0x14], edi
inc edx
cmp dx, word [ecx + 2]
jl 0x41dcd3
jmp 0x41dd4a
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x24]
cmp eax, 0xffffffff
je 0x41dd4a
jmp 0x41dd10
mov edx, dword [esi + 0x34]
and eax, 0xffff
lea eax, [eax + eax*2]
shl eax, 2
mov ecx, dword [edx + eax + 8]
cmp dword [ecx + 0x14], edi
je 0x41dd31
mov edx, dword [esi + 0x34]
mov eax, dword [edx + eax + 8]
mov dword [eax + 0x14], edi
mov eax, dword [ecx + 0x1fc]
cmp eax, 0xffffffff
jne 0x41dd10
jmp 0x41dd4a
mov esi, dword [0x851c30]
mov edi, dword [0x851c4c]
mov eax, dword [ebp + 0x18]
mov edx, dword [esi + 0x34]
and eax, 0xffff
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*4 + 8]
cmp dword [eax + 0x14], edi
je 0x41dd64
mov dword [eax + 0x14], edi
mov al, byte [esp + 0x13]
test al, al
je 0x41dde5
mov al, byte [ebp + 0x60]
test al, al
lea eax, [esp + 0x7c]
jne 0x41dd7e
lea eax, [esp + 0x680]
mov cl, byte [esp + 0x12]
test cl, cl
je 0x41ddcf
mov cx, word [eax + 2]
cmp cx, 0x80
jge 0x41d984
mov edx, dword [ebp + 0x18]
fld dword [esp + 0x18]
fmul dword [0x66c9b4]
movsx ecx, cx
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*4 + 4], edx
movsx ecx, word [eax + 2]
mov edx, dword [esp + 0x28]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*4 + 8], edx
movsx ecx, word [eax + 2]
inc ecx
lea ecx, [ecx + ecx*2]
fstp dword [eax + ecx*4]
inc word [eax + 2]
jmp 0x41d984
mov cl, byte [ebp + 0x127]
test cl, cl
jne 0x41d984
inc word [eax]
jmp 0x41d984
mov ax, word [ebp + 0x24]
cmp ax, 4
jl 0x41ddf5
cmp ax, 5
jle 0x41de2a
mov edi, dword [ebp + 0xc]
cmp edi, 0xffffffff
je 0x41de2a
mov ebx, dword [esp + 0xc88]
push ebx
or esi, 0xffffffff
call fcn.00428480
mov ebp, dword [ebp + 0xc]
add esp, 4
mov edi, ebp
mov eax, ebx
call fcn.0043ea30
mov eax, dword [0x8716a0]
mov edx, ebp
call fcn.004ce850
jmp 0x41de31
mov ebx, dword [esp + 0xc88]
mov edi, dword [esp + 0x28]
push ebx
or esi, 0xffffffff
call fcn.00428480
add esp, 4
mov eax, ebx
call fcn.0043ea30
mov eax, dword [0x8716a0]
mov edx, edi
call fcn.004ce850
jmp 0x41d984
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x41dfbc
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x134]
xor ebp, ebp
test eax, eax
jle 0x41dfbc
xor edi, edi
jmp 0x41de80
mov edx, dword [esp + 0x1c]
mov ecx, edi
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, edi
sar ecx, 5
test dword [edx + ecx*4], eax
je 0x41dfa6
mov eax, dword [0x851c50]
mov esi, dword [eax + edi*4]
cmp esi, 0xffffffff
je 0x41dec9
mov edx, dword [0x851c54]
mov eax, dword [edx + 0x34]
and esi, 0xffff
lea ecx, [esi + esi*2]
mov esi, dword [eax + ecx*4 + 8]
lea eax, [eax + ecx*4]
mov eax, dword [eax + 4]
jmp 0x41decc
or eax, 0xffffffff
cmp eax, 0xffffffff
mov ebx, dword [esp + 0xc88]
je 0x41df26
jmp 0x41dee0
lea ecx, [esp + 0x680]
push ecx
lea edx, [esp + 0x80]
push edx
push eax
push ebx
call fcn.0041e330
add esp, 0x10
cmp esi, 0xffffffff
je 0x41df1e
mov ecx, dword [0x851c54]
mov edx, dword [ecx + 0x34]
mov eax, esi
and eax, 0xffff
lea eax, [eax + eax*2]
mov esi, dword [edx + eax*4 + 8]
lea eax, [edx + eax*4]
mov eax, dword [eax + 4]
jmp 0x41df21
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x41dee0
mov eax, dword [0x851c40]
mov esi, dword [eax + edi*4]
cmp esi, 0xffffffff
je 0x41df51
mov edx, dword [0x851c44]
mov eax, dword [edx + 0x34]
and esi, 0xffff
lea ecx, [esi + esi*2]
mov esi, dword [eax + ecx*4 + 8]
lea eax, [eax + ecx*4]
mov eax, dword [eax + 4]
jmp 0x41df54
or eax, 0xffffffff
cmp eax, 0xffffffff
je 0x41dfa6
lea esp, [esp]
lea ecx, [esp + 0x680]
push ecx
lea edx, [esp + 0x80]
push edx
push eax
push ebx
call fcn.0041e330
add esp, 0x10
cmp esi, 0xffffffff
je 0x41df9e
mov ecx, dword [0x851c44]
mov edx, dword [ecx + 0x34]
mov eax, esi
and eax, 0xffff
lea eax, [eax + eax*2]
mov esi, dword [edx + eax*4 + 8]
lea eax, [edx + eax*4]
mov eax, dword [eax + 4]
jmp 0x41dfa1
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x41df60
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x134]
inc ebp
movsx edi, bp
cmp edi, ecx
jl 0x41de80
mov ax, word [esp + 0x7e]
test ax, ax
jle 0x41e13b
xor esi, esi
cmp word [esp + 0x7c], 4
mov dword [esp + 0x14], esi
jge 0x41e076
push 0x41d7b0
movsx ecx, ax
push 0xc
push ecx
lea edx, [esp + 0x8c]
push edx
call fcn.0061eab0
add esp, 0x10
cmp word [esp + 0x7e], si
jle 0x41e13b
mov edi, dword [esp + 0xc88]
lea esp, [esp]
movsx eax, si
lea eax, [eax + eax*2]
shl eax, 2
cmp dword [esp + eax + 0x84], 0xffffffff
jne 0x41e04e
mov eax, dword [esp + eax + 0x80]
push 1
push eax
push edi
call fcn.0043e280
add esp, 0xc
cmp eax, 0xffffffff
je 0x41e060
push 0
push 0
lea ecx, [esp + 0x44]
push ecx
push eax
push edi
call fcn.0041c4c0
add esp, 0x14
mov ax, word [esp + 0x7c]
inc ax
cmp ax, 4
mov word [esp + 0x7c], ax
jge 0x41e071
inc esi
cmp si, word [esp + 0x7e]
mov dword [esp + 0x14], esi
jl 0x41e010
jmp 0x41e13b
mov ax, word [esp + 0x7e]
cmp si, ax
jge 0x41e13b
nop
movsx eax, si
lea ebp, [eax + eax*2]
mov eax, dword [esp + ebp*4 + 0x84]
cmp eax, 0xffffffff
lea ebp, [esp + ebp*4 + 0x84]
je 0x41e12b
mov edx, dword [0x8716a0]
mov esi, dword [edx + 0x34]
and eax, 0xffff
imul eax, eax, 0x138
add eax, esi
mov ebx, eax
mov ax, word [ebx + 0x24]
cmp ax, 4
jl 0x41e0c5
cmp ax, 5
jle 0x41e0fb
mov edi, dword [ebx + 0xc]
cmp edi, 0xffffffff
je 0x41e0fb
mov eax, dword [esp + 0xc88]
push eax
or esi, 0xffffffff
call fcn.00428480
mov edi, dword [ebx + 0xc]
mov eax, dword [esp + 0xc8c]
add esp, 4
call fcn.0043ea30
mov eax, dword [0x8716a0]
mov edx, edi
call fcn.004ce850
mov ebx, dword [esp + 0xc88]
mov edi, dword [ebp]
push ebx
or esi, 0xffffffff
call fcn.00428480
mov edi, dword [ebp]
add esp, 4
mov eax, ebx
call fcn.0043ea30
mov eax, dword [0x8716a0]
mov edx, edi
call fcn.004ce850
mov esi, dword [esp + 0x14]
inc esi
cmp si, word [esp + 0x7e]
mov dword [esp + 0x14], esi
jl 0x41e080
mov cx, word [esp + 0x682]
test cx, cx
jle 0x41e211
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x680]
lea ebx, [edx + eax]
movsx eax, ax
add eax, 2
xor esi, esi
cmp eax, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], eax
jg 0x41e177
mov dword [esp + 0x14], 4
cmp bx, word [esp + 0x14]
jge 0x41e22e
push 0x41d7b0
movsx ecx, cx
push 0xc
push ecx
lea edx, [esp + 0x690]
push edx
call fcn.0061eab0
add esp, 0x10
cmp word [esp + 0x682], 0
jle 0x41e2fe
mov edi, dword [esp + 0xc88]
or ebp, 0xffffffff
movsx eax, si
lea eax, [eax + eax*2]
shl eax, 2
cmp dword [esp + eax + 0x688], ebp
jne 0x41e1f2
mov eax, dword [esp + eax + 0x684]
push 0
push eax
push edi
call fcn.0043e280
add esp, 0xc
cmp eax, ebp
je 0x41e202
push 0
push 0
lea ecx, [esp + 0x44]
push ecx
push eax
push edi
call fcn.0041c4c0
add esp, 0x14
inc word [esp + 0x680]
inc ebx
cmp bx, word [esp + 0x14]
jge 0x41e226
inc esi
cmp si, word [esp + 0x682]
mov dword [esp + 0x1c], esi
jl 0x41e1b6
mov edx, dword [0x6b235c]
pop edi
pop esi
pop ebp
mov byte [edx + 1], 0
pop ebx
add esp, 0xc74
ret
mov cx, word [esp + 0x682]
cmp si, cx
jge 0x41e312
jmp 0x41e240
movsx eax, si
lea ebx, [eax + eax*2]
mov eax, dword [esp + ebx*4 + 0x688]
cmp eax, 0xffffffff
lea ebx, [esp + ebx*4 + 0x688]
je 0x41e2eb
mov ecx, dword [0x8716a0]
mov edx, dword [ecx + 0x34]
and eax, 0xffff
imul eax, eax, 0x138
add eax, edx
mov ebp, eax
mov ax, word [ebp + 0x24]
cmp ax, 4
jl 0x41e285
cmp ax, 5
jle 0x41e2bd
mov edi, dword [ebp + 0xc]
cmp edi, 0xffffffff
je 0x41e2bd
mov edx, dword [esp + 0xc88]
push edx
or esi, 0xffffffff
call fcn.00428480
mov ebp, dword [ebp + 0xc]
mov eax, dword [esp + 0xc8c]
add esp, 4
mov edi, ebp
call fcn.0043ea30
mov eax, dword [0x8716a0]
mov edx, ebp
call fcn.004ce850
mov ebp, dword [esp + 0xc88]
mov edi, dword [ebx]
push ebp
or esi, 0xffffffff
call fcn.00428480
mov edi, dword [ebx]
add esp, 4
mov eax, ebp
call fcn.0043ea30
mov eax, dword [0x8716a0]
mov edx, edi
call fcn.004ce850
mov esi, dword [esp + 0x1c]
inc esi
cmp si, word [esp + 0x682]
mov dword [esp + 0x1c], esi
jl 0x41e240
mov eax, dword [0x6b235c]
pop edi
pop esi
pop ebp
mov byte [eax + 1], 0
pop ebx
add esp, 0xc74
ret
mov ecx, dword [0x6b235c]
pop edi
pop esi
pop ebp
mov byte [ecx + 1], 0
pop ebx
add esp, 0xc74
ret