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

Disassembly:
sub esp, 0xc74
mov eax, dword [0x81b460]
mov eax, dword [eax + 0x34]
push ebx
push ebp
mov ebp, dword [0x6e219c]
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 0x41d923
mov edx, dword [eax + 0x28]
mov ecx, dword [0x81b45c]
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 0x41d94f
mov ecx, dword [0x7fb2d0]
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 0x41d903
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 0x41d8fe
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 0x41d8f1
xor ebx, ebx
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x18]
add edx, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x41d893
mov al, byte [esp + 0x13]
test al, al
je 0x41d94f
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1c], ecx
jmp 0x41d94f
mov ax, word [eax + 0x148]
cmp ax, 0xffff
je 0x41d94f
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 [0x7fb2ec]
mov ecx, dword [0x81b460]
inc eax
mov dword [0x7fb2ec], eax
mov eax, dword [0x653b24]
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 0x41de49
mov ecx, dword [0x81b3c0]
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 0x41d9b4
cmp ax, 5
jle 0x41d974
fld dword [ebp + 0x11c]
mov eax, dword [ebp + 0x20]
mov esi, dword [0x81b460]
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 0x41d9ed
xor eax, eax
jmp 0x41d9fa
and eax, 0xffff
imul eax, eax, 0x724
add eax, esi
test cl, cl
mov byte [esp + 0x12], 0
je 0x41da0a
mov bl, 1
jmp 0x41dbdd
test eax, eax
je 0x41da23
mov cl, byte [eax + 8]
test cl, cl
je 0x41da1c
mov cl, byte [eax + 0x13]
test cl, cl
je 0x41da23
xor bl, bl
jmp 0x41dbdd
test dl, dl
jne 0x41da2c
test di, di
jle 0x41da33
mov bl, 1
jmp 0x41dbdd
fld dword [esp + 0x18]
fcomp dword [0x612554]
fnstsw ax
test ah, 0x41
jne 0x41da4b
xor bl, bl
jmp 0x41dbdd
mov al, byte [ebp + 0x127]
test al, al
je 0x41db7c
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + esi + 0x34]
cmp eax, 0xffffffff
mov bl, 1
je 0x41db01
mov edx, dword [0x81b3c8]
mov edi, dword [edx + 0x34]
mov ecx, dword [ebp + 0x18]
mov edx, dword [0x7fb2d0]
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 0x41daac
mov ecx, edx
cmp ecx, 0xffffffff
je 0x41dac2
mov edi, dword [edi + 0x41c]
cmp edi, 0xffffffff
je 0x41dac0
cmp edi, ecx
jge 0x41dac2
xor bl, bl
mov cl, byte [eax + 0x45]
test cl, cl
jne 0x41dadb
mov cl, byte [eax + 0x44]
test cl, cl
jne 0x41dadb
mov cl, byte [eax + 0x42]
test cl, cl
jne 0x41dadb
mov al, 1
jmp 0x41dadd
xor al, al
test bl, bl
je 0x41dbdd
test al, al
je 0x41db01
fld dword [esp + 0x18]
fcomp dword [0x612550]
fnstsw ax
test ah, 5
jp 0x41db41
mov bl, 1
jmp 0x41dbdd
fld dword [esp + 0x20]
fcomp dword [0x612220]
fnstsw ax
test ah, 0x41
jne 0x41db19
mov bl, 1
jmp 0x41dbdd
mov al, byte [ebp + 0x60]
test al, al
je 0x41db2f
cmp word [ebp + 0x76], 0x96
jle 0x41db2f
xor bl, bl
jmp 0x41dbdd
mov eax, dword [esp + 0xc88]
call fcn.0040e760
cmp ax, 1
jle 0x41db48
xor bl, bl
jmp 0x41dbdd
mov al, byte [ebp + 0x60]
fld dword [0x61254c]
test al, al
jne 0x41db69
mov eax, dword [esp + 0x14]
cmp word [eax + esi + 0x6a], 3
jge 0x41db69
fstp st(0)
fld dword [0x6122f8]
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x41db41
mov bl, 1
jmp 0x41dbdd
mov al, byte [ebp + 0x60]
fld dword [esp + 0x18]
test al, al
je 0x41db91
fcomp dword [0x61249c]
mov bl, 1
jmp 0x41dbcc
fcomp dword [0x612550]
fnstsw ax
test ah, 5
jp 0x41dba2
mov bl, 1
jmp 0x41dba4
xor bl, bl
mov eax, dword [esp + 0x14]
cmp word [eax + esi + 0x6e], 4
jl 0x41dbb7
mov byte [esp + 0x12], 1
jmp 0x41dbdd
mov cl, byte [eax + esi + 0x1cc]
test cl, cl
jne 0x41dbd8
fld dword [esp + 0x18]
fcomp dword [0x61254c]
fnstsw ax
mov byte [esp + 0x12], 1
test ah, 0x41
je 0x41dbdd
mov byte [esp + 0x12], 0
test bl, bl
mov byte [esp + 0x13], bl
je 0x41dc62
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x41dc62
mov eax, dword [ebp + 0x18]
lea esi, [esp + 0x30]
mov byte [esp + 0x13], 0
call fcn.004f9a20
cmp ax, 0xffff
je 0x41dc62
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 0x41dc59
cmp esi, 0xffffffff
je 0x41dc4c
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 0x41dc4f
or ecx, 0xffffffff
cmp cx, 0xffff
mov eax, ecx
jne 0x41dc14
jmp 0x41dc5e
mov byte [esp + 0x13], 1
mov dword [esp + 0x34], esi
mov al, byte [ebp + 0x14]
test al, al
je 0x41dd2e
mov eax, dword [ebp + 0x1c]
cmp eax, 0xffffffff
je 0x41dd2e
mov ecx, dword [0x81b460]
mov edx, dword [ecx + 0x34]
mov esi, dword [0x7fb2d0]
mov edi, dword [0x7fb2ec]
and eax, 0xffff
imul eax, eax, 0x724
add eax, edx
mov eax, dword [eax + 0x28]
cmp eax, 0xffffffff
je 0x41dcea
mov edx, dword [0x81b45c]
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 0x41dd3a
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 0x41dce1
mov dword [eax + 0x14], edi
inc edx
cmp dx, word [ecx + 2]
jl 0x41dcc3
jmp 0x41dd3a
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x24]
cmp eax, 0xffffffff
je 0x41dd3a
jmp 0x41dd00
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 0x41dd21
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 0x41dd00
jmp 0x41dd3a
mov esi, dword [0x7fb2d0]
mov edi, dword [0x7fb2ec]
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 0x41dd54
mov dword [eax + 0x14], edi
mov al, byte [esp + 0x13]
test al, al
je 0x41ddd5
mov al, byte [ebp + 0x60]
test al, al
lea eax, [esp + 0x7c]
jne 0x41dd6e
lea eax, [esp + 0x680]
mov cl, byte [esp + 0x12]
test cl, cl
je 0x41ddbf
mov cx, word [eax + 2]
cmp cx, 0x80
jge 0x41d974
mov edx, dword [ebp + 0x18]
fld dword [esp + 0x18]
fmul dword [0x6127cc]
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 0x41d974
mov cl, byte [ebp + 0x127]
test cl, cl
jne 0x41d974
inc word [eax]
jmp 0x41d974
mov ax, word [ebp + 0x24]
cmp ax, 4
jl 0x41dde5
cmp ax, 5
jle 0x41de1a
mov edi, dword [ebp + 0xc]
cmp edi, 0xffffffff
je 0x41de1a
mov ebx, dword [esp + 0xc88]
push ebx
or esi, 0xffffffff
call fcn.00428470
mov ebp, dword [ebp + 0xc]
add esp, 4
mov edi, ebp
mov eax, ebx
call fcn.0043ea20
mov eax, dword [0x81b3c0]
mov edx, ebp
call fcn.004d3910
jmp 0x41de21
mov ebx, dword [esp + 0xc88]
mov edi, dword [esp + 0x28]
push ebx
or esi, 0xffffffff
call fcn.00428470
add esp, 4
mov eax, ebx
call fcn.0043ea20
mov eax, dword [0x81b3c0]
mov edx, edi
call fcn.004d3910
jmp 0x41d974
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x41dfac
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x134]
xor ebp, ebp
test eax, eax
jle 0x41dfac
xor edi, edi
jmp 0x41de70
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 0x41df96
mov eax, dword [0x7fb2f0]
mov esi, dword [eax + edi*4]
cmp esi, 0xffffffff
je 0x41deb9
mov edx, dword [0x7fb2f4]
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 0x41debc
or eax, 0xffffffff
cmp eax, 0xffffffff
mov ebx, dword [esp + 0xc88]
je 0x41df16
jmp 0x41ded0
lea ecx, [esp + 0x680]
push ecx
lea edx, [esp + 0x80]
push edx
push eax
push ebx
call fcn.0041e320
add esp, 0x10
cmp esi, 0xffffffff
je 0x41df0e
mov ecx, dword [0x7fb2f4]
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 0x41df11
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x41ded0
mov eax, dword [0x7fb2e0]
mov esi, dword [eax + edi*4]
cmp esi, 0xffffffff
je 0x41df41
mov edx, dword [0x7fb2e4]
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 0x41df44
or eax, 0xffffffff
cmp eax, 0xffffffff
je 0x41df96
lea esp, [esp]
lea ecx, [esp + 0x680]
push ecx
lea edx, [esp + 0x80]
push edx
push eax
push ebx
call fcn.0041e320
add esp, 0x10
cmp esi, 0xffffffff
je 0x41df8e
mov ecx, dword [0x7fb2e4]
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 0x41df91
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x41df50
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x134]
inc ebp
movsx edi, bp
cmp edi, ecx
jl 0x41de70
mov ax, word [esp + 0x7e]
test ax, ax
jle 0x41e12b
xor esi, esi
cmp word [esp + 0x7c], 4
mov dword [esp + 0x14], esi
jge 0x41e066
push 0x41d7a0
movsx ecx, ax
push 0xc
push ecx
lea edx, [esp + 0x8c]
push edx
call fcn.005c8520
add esp, 0x10
cmp word [esp + 0x7e], si
jle 0x41e12b
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 0x41e03e
mov eax, dword [esp + eax + 0x80]
push 1
push eax
push edi
call fcn.0043e270
add esp, 0xc
cmp eax, 0xffffffff
je 0x41e050
push 0
push 0
lea ecx, [esp + 0x44]
push ecx
push eax
push edi
call fcn.0041c4b0
add esp, 0x14
mov ax, word [esp + 0x7c]
inc ax
cmp ax, 4
mov word [esp + 0x7c], ax
jge 0x41e061
inc esi
cmp si, word [esp + 0x7e]
mov dword [esp + 0x14], esi
jl 0x41e000
jmp 0x41e12b
mov ax, word [esp + 0x7e]
cmp si, ax
jge 0x41e12b
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 0x41e11b
mov edx, dword [0x81b3c0]
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 0x41e0b5
cmp ax, 5
jle 0x41e0eb
mov edi, dword [ebx + 0xc]
cmp edi, 0xffffffff
je 0x41e0eb
mov eax, dword [esp + 0xc88]
push eax
or esi, 0xffffffff
call fcn.00428470
mov edi, dword [ebx + 0xc]
mov eax, dword [esp + 0xc8c]
add esp, 4
call fcn.0043ea20
mov eax, dword [0x81b3c0]
mov edx, edi
call fcn.004d3910
mov ebx, dword [esp + 0xc88]
mov edi, dword [ebp]
push ebx
or esi, 0xffffffff
call fcn.00428470
mov edi, dword [ebp]
add esp, 4
mov eax, ebx
call fcn.0043ea20
mov eax, dword [0x81b3c0]
mov edx, edi
call fcn.004d3910
mov esi, dword [esp + 0x14]
inc esi
cmp si, word [esp + 0x7e]
mov dword [esp + 0x14], esi
jl 0x41e070
mov cx, word [esp + 0x682]
test cx, cx
jle 0x41e201
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 0x41e167
mov dword [esp + 0x14], 4
cmp bx, word [esp + 0x14]
jge 0x41e21e
push 0x41d7a0
movsx ecx, cx
push 0xc
push ecx
lea edx, [esp + 0x690]
push edx
call fcn.005c8520
add esp, 0x10
cmp word [esp + 0x682], 0
jle 0x41e2ee
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 0x41e1e2
mov eax, dword [esp + eax + 0x684]
push 0
push eax
push edi
call fcn.0043e270
add esp, 0xc
cmp eax, ebp
je 0x41e1f2
push 0
push 0
lea ecx, [esp + 0x44]
push ecx
push eax
push edi
call fcn.0041c4b0
add esp, 0x14
inc word [esp + 0x680]
inc ebx
cmp bx, word [esp + 0x14]
jge 0x41e216
inc esi
cmp si, word [esp + 0x682]
mov dword [esp + 0x1c], esi
jl 0x41e1a6
mov edx, dword [0x653b24]
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 0x41e302
jmp 0x41e230
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 0x41e2db
mov ecx, dword [0x81b3c0]
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 0x41e275
cmp ax, 5
jle 0x41e2ad
mov edi, dword [ebp + 0xc]
cmp edi, 0xffffffff
je 0x41e2ad
mov edx, dword [esp + 0xc88]
push edx
or esi, 0xffffffff
call fcn.00428470
mov ebp, dword [ebp + 0xc]
mov eax, dword [esp + 0xc8c]
add esp, 4
mov edi, ebp
call fcn.0043ea20
mov eax, dword [0x81b3c0]
mov edx, ebp
call fcn.004d3910
mov ebp, dword [esp + 0xc88]
mov edi, dword [ebx]
push ebp
or esi, 0xffffffff
call fcn.00428470
mov edi, dword [ebx]
add esp, 4
mov eax, ebp
call fcn.0043ea20
mov eax, dword [0x81b3c0]
mov edx, edi
call fcn.004d3910
mov esi, dword [esp + 0x1c]
inc esi
cmp si, word [esp + 0x682]
mov dword [esp + 0x1c], esi
jl 0x41e230
mov eax, dword [0x653b24]
pop edi
pop esi
pop ebp
mov byte [eax + 1], 0
pop ebx
add esp, 0xc74
ret
mov ecx, dword [0x653b24]
pop edi
pop esi
pop ebp
mov byte [ecx + 1], 0
pop ebx
add esp, 0xc74
ret