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

Disassembly:
sub esp, 0x78
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 4]
push esi
mov esi, dword [eax]
test esi, esi
push edi
mov edi, dword [eax + 0x4c]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], edi
je 0x748af7
cmp byte [esi + 0x4a], 8
je 0x748aff
pop edi
xor eax, eax
pop esi
add esp, 0x78
ret
push ebx
push ebp
push 1
mov ecx, esi
call fcn.006bed80
mov ebx, eax
push 1
mov ecx, esi
mov dword [esp + 0x2c], ebx
call fcn.006bedc0
mov ebp, eax
push ebp
mov dword [esp + 0x18], ebp
call fcn.006cb650
movsx edx, word [esi + 0x44]
movsx eax, word [esi + 0x46]
mov ecx, dword [0x904a00]
push ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], eax
call fcn.00464080
add esp, 8
cmp eax, 0x60180
jle 0x748b73
mov eax, dword [0x904a00]
and eax, 0xf
or eax, 0x40
push eax
push 0x30000
call fcn.00465a70
mov dword [esp + 0x2c], eax
mov eax, dword [0x904a00]
and eax, 0xf
or eax, 0x40
push eax
jmp 0x748be7
push 0
call fcn.00464080
add esp, 4
cmp eax, 0x60180
jle 0x748b94
push 0x40
push 0x30000
call fcn.00465a70
push 0x40
jmp 0x748be3
push 7
call fcn.00464080
add esp, 4
cmp eax, 0x60180
push 7
jg 0x748bd7
call fcn.00464050
add esp, 4
cmp eax, 0x60180
jle 0x7492f3
mov ecx, 0x9aa9d0
call fcn.007303d0
push 1
push 0x60180
mov ecx, 0x9aa9d0
call fcn.00730bf0
push 7
push 0x30000
call fcn.00465a70
push 7
mov dword [esp + 0x30], eax
push 0x30000
call fcn.00465a70
movsx ebp, word [esi + 0x46]
movsx edx, word [esi + 0x44]
imul ebp, edx
add ebp, ebx
add esp, 0x10
xor esi, esi
test edi, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x48], ebp
jle 0x748c5a
mov edi, dword [esp + 0x8c]
add edi, 0x30
mov eax, dword [edi - 0x18]
test eax, eax
je 0x748c4e
mov eax, dword [edi - 8]
push eax
call fcn.006cb650
mov ecx, dword [edi]
push ecx
call fcn.006cb650
mov edx, dword [edi - 0xc]
mov eax, dword [edi - 4]
add esp, 8
mov dword [esp + esi*4 + 0x40], edx
mov dword [esp + esi*4 + 0x38], eax
mov eax, dword [esp + 0x30]
inc esi
add edi, 0x34
cmp esi, eax
jl 0x748c25
mov eax, dword [0x9b0a18]
test eax, eax
mov esi, dword [esp + 0x14]
jne 0x748d3e
or eax, 0xffffffff
mov dword [esp + 0x58], 0xbf0000ff
mov dword [esp + 0x5c], 0xbf00ff00
mov dword [esp + 0x60], 0xbfff0000
mov dword [esp + 0x64], 0xbfff00ff
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
xor ecx, ecx
mov edx, dword [esp + ecx + 0x58]
xor eax, eax
cmp dword [esi + eax*4], edx
je 0x748cb5
inc eax
cmp eax, 0x100
jl 0x748ca6
jmp 0x748cb9
mov dword [esp + ecx + 0x68], eax
add ecx, 4
cmp ecx, 0x10
jl 0x748ca0
xor eax, eax
mov ecx, 0x40
mov edi, 0x9af288
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x28]
cmp edi, ebp
jae 0x748d2c
xor edx, edx
lea esp, [esp]
movzx ecx, byte [ebx]
xor eax, eax
cmp ecx, dword [esp + eax*4 + 0x68]
je 0x748cf3
inc eax
cmp eax, 4
jl 0x748ce5
jmp 0x748d1e
mov ebp, dword [esp + 0x48]
mov cl, al
inc cl
mov byte [ebx], cl
mov ecx, dword [eax*4 + 0x9b0a1c]
mov esi, eax
shl esi, 4
add esi, ecx
inc ecx
mov dword [esi*4 + 0x9af288], edx
mov esi, dword [esp + 0x14]
mov dword [eax*4 + 0x9b0a1c], ecx
cmp eax, 4
jne 0x748d26
mov byte [ebx], 0
inc ebx
inc edx
cmp ebx, ebp
jb 0x748ce0
mov ebx, edi
mov dword [esp + 0x2c], ebx
mov dword [0x9b0a18], 1
jmp 0x748d5f
mov ecx, dword [esp + 0x44]
imul ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x28]
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x28]
cmp edi, ebp
mov eax, dword [esp + 0x1c]
mov dword [esi], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 8]
mov dword [esi + 4], ecx
mov edx, dword [eax + 0xc]
mov dword [esi + 8], edx
mov ecx, dword [eax + 0x10]
mov dword [esi + 0xc], ecx
mov edx, dword [eax + 0x14]
mov dword [esi + 0x10], edx
mov dword [esp + 0x1c], 5
jae 0x748f83
mov eax, dword [esp + 0x30]
jmp 0x748da0
movzx ecx, byte [ebx]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + ecx*4]
xor ebp, ebp
test eax, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], ebp
jle 0x748f72
mov esi, dword [esp + 0x8c]
add esi, 0x30
jmp 0x748dd0
mov ecx, dword [esi - 0x18]
test ecx, ecx
je 0x748f62
mov edi, dword [esp + ebp*4 + 0x40]
mov bl, byte [edi]
mov eax, dword [esi - 8]
movzx edx, bl
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + ebp*4 + 0x38]
movzx edx, byte [eax]
mov eax, dword [esi]
movzx eax, byte [eax + edx*4 + 2]
mov edx, dword [esi + 8]
and eax, 0xff
test edx, edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
je 0x748e81
test eax, eax
jbe 0x748e81
movzx edx, cl
mov dword [esp + 0x4c], edx
movzx eax, ch
fild dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
shr ecx, 0x10
fmul dword [0x899dd0]
movzx ecx, cl
fstp dword [esp + 0x78]
mov dword [esp + 0x50], ecx
fild dword [esp + 0x4c]
push 1
push 3
lea edx, [esp + 0x80]
fmul dword [0x899dd0]
push edx
lea eax, [esi + 0xc]
push eax
fstp dword [esp + 0x8c]
mov dword [esp + 0x94], 0
fild dword [esp + 0x60]
fmul dword [0x899dd0]
fstp dword [esp + 0x90]
call fcn.0073ae60
mov ecx, eax
mov eax, dword [esp + 0x64]
add esp, 0x10
cmp eax, 0x7f
jbe 0x748e98
mov edx, dword [esp + 0x2c]
add bl, 5
mov byte [edx], bl
mov dword [esp + 0x3c], ecx
jmp 0x748f4c
test eax, eax
jbe 0x748f4c
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
jge 0x748eb0
fadd dword [0x891214]
fmul dword [0x8a7a5c]
fst dword [esp + 0x58]
fcomp dword [0x89096c]
fnstsw ax
test ah, 0x41
jne 0x748ecf
mov dword [esp + 0x58], 0x3f800000
mov eax, dword [esp + 0x3c]
fld dword [0x89096c]
mov ebx, dword [esi - 0xc]
fsub dword [esp + 0x58]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x34]
fstp dword [esp + 0x5c]
movsx ecx, word [ecx + 0x44]
mov eax, edi
sub eax, ebx
cdq
idiv ecx
push 0
push 2
mov ebx, edx
lea edx, [esp + 0x60]
mov ebp, eax
push edx
lea eax, [esp + 0x74]
push eax
call fcn.0073ae60
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x34]
add esp, 0x10
mov word [eax + ecx*4], bx
mov word [eax + ecx*4 + 2], bp
inc ecx
cmp ecx, 0xc000
mov dword [esp + 0x18], ecx
jl 0x748f41
mov eax, ecx
dec eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x44]
mov byte [eax], 0xff
mov eax, dword [esp + ebp*4 + 0x38]
mov ebx, dword [esp + 0x2c]
inc edi
inc eax
mov dword [esp + ebp*4 + 0x38], eax
mov eax, dword [esp + 0x30]
mov dword [esp + ebp*4 + 0x40], edi
inc ebp
add esi, 0x34
cmp ebp, eax
mov dword [esp + 0x44], ebp
jl 0x748dd0
mov ecx, dword [esp + 0x48]
inc ebx
cmp ebx, ecx
mov dword [esp + 0x2c], ebx
jb 0x748da0
mov eax, dword [esp + 0x30]
test eax, eax
jle 0x7490a7
mov esi, dword [esp + 0x8c]
mov ecx, eax
add esi, 0x34
mov dword [esp + 0x48], ecx
nop
mov eax, dword [esi + 4]
test eax, eax
jne 0x748fd7
mov ecx, dword [esi]
xor eax, eax
test ecx, ecx
jle 0x749074
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
lea ecx, [edx + ecx*4]
mov edi, edi
mov edx, dword [esi - 0xc]
mov edx, dword [edx + eax*4]
mov dword [ecx], edx
mov edx, dword [esi]
inc eax
add ecx, 4
cmp eax, edx
jl 0x748fc0
jmp 0x749074
mov eax, dword [esi]
xor edi, edi
test eax, eax
jle 0x749074
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x84], edi
lea ebx, [esi + 8]
lea ebp, [eax + ecx*4]
jmp 0x749000
mov edx, dword [esi - 0xc]
mov eax, dword [edx + edi*4]
movzx ecx, al
mov dword [esp + 0x54], ecx
movzx edx, ah
fild dword [esp + 0x54]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
fmul dword [0x899dd0]
shr eax, 0x10
movzx eax, al
fstp dword [esp + 0x78]
fild dword [esp + 0x54]
mov dword [esp + 0x54], eax
push 1
push 3
fmul dword [0x899dd0]
lea ecx, [esp + 0x80]
push ecx
push ebx
fstp dword [esp + 0x8c]
fild dword [esp + 0x64]
fmul dword [0x899dd0]
fstp dword [esp + 0x90]
call fcn.0073ae60
add esp, 0x10
mov dword [ebp], eax
mov eax, dword [esi]
inc edi
add ebp, 4
cmp edi, eax
jl 0x749000
mov edx, dword [esi - 0xc]
push edx
call fcn.006cb640
mov eax, dword [esi - 4]
push eax
call fcn.006cb640
mov ecx, dword [esi]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x50]
add edx, ecx
add esp, 8
add esi, 0x34
dec eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x48], eax
jne 0x748fa0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x749267
mov edx, dword [esp + 0x1c]
mov ebp, 0xff
sub ebp, edx
cmp eax, ebp
jge 0x749118
xor ecx, ecx
test eax, eax
jle 0x749267
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov eax, ebp
lea esi, [esi + edx*4]
sub edi, ebp
nop
movsx ebx, word [eax + 2]
mov ebp, dword [esp + 0x34]
movsx ebp, word [ebp + 0x44]
mov dl, byte [esp + 0x1c]
imul ebx, ebp
movsx ebp, word [eax]
add ebx, dword [esp + 0x28]
add dl, cl
mov byte [ebx + ebp], dl
mov edx, dword [edi + eax]
mov dword [esi], edx
mov edx, dword [esp + 0x18]
inc ecx
add eax, 4
add esi, 4
cmp ecx, edx
jl 0x7490e0
jmp 0x749267
mov ecx, dword [esp + 0x20]
push 0x14
push ebp
shl eax, 2
push eax
push ecx
call fcn.0073bc00
add esp, 0x10
call fcn.0073c260
mov ebx, dword [0x904a10]
xor ecx, ecx
test ebx, ebx
jle 0x749176
mov edx, 0x9af398
mov eax, 0x9af38c
mov edi, dword [eax - 4]
mov esi, dword [eax]
sar edi, 4
sar esi, 4
mov dword [eax - 4], edi
mov edi, dword [eax + 4]
mov dword [eax], esi
mov esi, dword [eax + 8]
sar edi, 4
sar esi, 4
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [edx], ecx
inc ecx
add eax, 0x14
add edx, 0x14
cmp ecx, ebx
jl 0x749147
xor esi, esi
test ebp, ebp
jle 0x7491e8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, 0x9af38c
lea edi, [edx + ecx*4]
jmp 0x749194
mov ebx, dword [0x904a10]
cmp eax, 0x9af38c
jl 0x7491b4
cmp esi, ebx
jge 0x7491b4
mov dl, byte [eax]
mov cl, byte [eax + 4]
mov byte [esp + 0x12], dl
mov dl, byte [eax - 4]
mov byte [esp + 0x13], dl
mov dl, byte [eax + 8]
jmp 0x7491c0
xor cl, cl
mov byte [esp + 0x12], cl
mov byte [esp + 0x13], cl
xor dl, dl
xor ebx, ebx
mov bh, dl
movzx edx, byte [esp + 0x13]
add edi, 4
add eax, 0x14
mov bl, cl
movzx ecx, byte [esp + 0x12]
shl ebx, 8
or ebx, ecx
shl ebx, 8
or ebx, edx
mov dword [edi - 4], ebx
inc esi
cmp esi, ebp
jl 0x74918e
call fcn.0073bcd0
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x749267
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
sub ebx, edi
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x34]
movsx edx, word [ecx + 0x44]
movsx eax, word [edi + 2]
movsx esi, word [edi]
imul eax, edx
add eax, dword [esp + 0x28]
add esi, eax
cmp byte [esi], 0xff
jne 0x749259
mov eax, dword [edi + ebx]
mov edx, eax
mov ecx, eax
shr ecx, 0x18
push ecx
shr edx, 0x10
movzx edx, dl
movzx ecx, ah
push edx
mov dword [esp + 0x5c], eax
push ecx
and eax, 0xff
push eax
call fcn.0073be00
add esp, 0x10
cmp eax, ebp
jge 0x749256
mov dl, byte [esp + 0x1c]
add dl, al
mov byte [esi], dl
jmp 0x749259
mov byte [esi], 0
mov eax, dword [esp + 0x48]
add edi, 4
dec eax
mov dword [esp + 0x48], eax
jne 0x749203
mov eax, dword [esp + 0x24]
push eax
call fcn.004655f0
mov ecx, dword [esp + 0x24]
push ecx
call fcn.004655f0
mov edi, dword [esp + 0x30]
mov ecx, 0x9af288
add esp, 8
xor ebx, ebx
mov dword [esp + 0x48], ecx
mov eax, 0x9b0a1c
mov edx, dword [eax]
xor esi, esi
test edx, edx
jle 0x7492af
mov dl, bl
inc dl
mov edi, edi
mov ebp, dword [ecx]
mov byte [edi + ebp], dl
mov ebp, dword [eax]
inc esi
add ecx, 4
cmp esi, ebp
jl 0x7492a0
mov ecx, dword [esp + 0x48]
add eax, 4
add ecx, 0x40
inc ebx
cmp eax, 0x9b0a2c
mov dword [esp + 0x48], ecx
jl 0x749292
mov esi, dword [esp + 0x14]
push esi
call fcn.006cb640
add esp, 4
push edi
mov edi, dword [esp + 0x38]
mov ecx, edi
call fcn.006bedb0
push esi
mov ecx, edi
call fcn.006bedd0
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x78
ret
push ebx
mov ecx, esi
call fcn.006bedb0
push ebp
mov ecx, esi
call fcn.006bedd0
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x78
ret