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

Disassembly:
push ebp
push edi
push esi
mov esi, eax
push ebx
sub esp, 0x4c
mov edi, dword [esp + 0x60]
mov dword [esp + 0x38], eax
mov eax, edx
mov edx, ecx
mov ecx, dword [esi]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x64]
mov ebx, dword [ecx]
mov dword [esp + 0x24], edi
movzx edi, word [esp + 0x68]
mov dword [esp + 0x20], ebx
mov word [esp + 0x1c], di
movzx edi, word [esp + 0x70]
mov word [esp + 0x36], di
mov edi, dword [esi + 4]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x6c]
mov edi, dword [edi + 0x10]
mov dword [esp + 0x10], edi
mov edi, dword [esi + 8]
mov esi, dword [ecx + 4]
movzx ebx, byte [edi + 0x10]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x74]
mov esi, dword [esi]
mov dword [ebx], 0
mov dword [esp + 8], esi
mov dword [edi], eax
mov eax, dword [esp + 0x6c]
mov dword [edi + 4], edx
mov ebx, dword [eax + 4]
test esi, esi
jle 0x72d674
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edi
xor esi, esi
mov edi, dword [esp + 0x24]
mov ebp, dword [eax + 0x18]
jmp 0x72d61c
add esi, 1
add ebx, 0xc
cmp dword [esp + 8], esi
je 0x72d670
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x14]
mov ecx, edi
mov byte [ebx + 5], 0
not ecx
lea eax, [eax + eax*2]
not edx
shl eax, 4
add eax, ebp
and edx, dword [eax + 0x20]
and ecx, dword [eax + 0x24]
or ecx, edx
jne 0x72d610
movzx edx, word [esp + 0x1c]
and dx, word [eax + 0xc]
jne 0x72d610
mov edx, dword [esp + 0x78]
test edx, edx
je 0x72d7f0
mov byte [ebx + 5], 1
add esi, 1
add ebx, 0xc
cmp dword [esp + 8], esi
jne 0x72d61c
lea esi, [esi]
lea esi, [esi]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 8]
sub esp, 4
shl eax, 3
push eax
push 0
push dword [esp + 0x1c]
call fcn.00798618
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x7c]
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x28], 0xa2879f2e
mov dword [eax + 0x2c], 0x546d42ae
mov dword [eax + 0x30], 0x19
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov eax, dword [esp + 0x3c]
lea eax, [eax + eax*8]
lea ecx, [esi + eax*8]
mov eax, dword [ecx + 0x40]
mov edx, dword [ecx + 0x44]
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x30]
add esp, 0x10
mov dword [ebx + 0x44], edx
mov ebx, dword [ecx + 0x18]
mov edx, dword [eax]
mov eax, dword [ebx + 0x34]
test eax, eax
jne 0x72d713
jmp 0x72de34
mov eax, dword [eax + 0x18]
test eax, eax
je 0x798ee6
cmp edx, dword [eax]
jne 0x72d708
mov ebp, dword [eax + 8]
sub esp, 8
add dword [edx + 0x38], 1
mov eax, dword [ebp]
push dword [esp + 0x74]
push ebp
call dword [eax + 0xc]
mov esi, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
add esp, 0x10
mov eax, dword [eax]
sub dword [eax + 0x38], 1
test esi, esi
je 0x72d7a0
cmp esi, 0x13
je 0x72d7a0
cmp esi, 7
je 0x72db70
mov eax, dword [ebp + 8]
test eax, eax
je 0x72db10
sub esp, 4
push eax
push 0xa31a94
push dword [esp + 0x2c]
call fcn.006cea90
add esp, 0x10
mov eax, dword [ebx + 0x34]
cmp byte [eax + 0x11], 0
jne 0x72da60
sub esp, 0xc
push dword [ebp + 8]
call fcn.006b6db0
mov dword [ebp + 8], 0
add esp, 0x10
mov eax, dword [esp + 0x24]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebx + 0x34]
cmp byte [edx + 0x11], 0
jne 0x72db00
sub esp, 0xc
push dword [ebp + 8]
call fcn.006b6db0
mov esi, dword [esp + 0x34]
add esp, 0x10
mov dword [ebp + 8], 0
test esi, esi
je 0x72d808
mov edi, dword [esp + 0x24]
mov eax, 0
cmp edi, 0x13
cmovne eax, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [eax + 0xf]
sub eax, 0x49
cmp al, 1
ja 0x72d656
jmp 0x72d610
mov ebx, dword [esp + 8]
mov eax, dword [edi + 0x38]
sub esp, 4
lea edx, [ebx*4]
push edx
push 0
push eax
call fcn.00798618
mov eax, dword [esp + 0x7c]
add esp, 0x10
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov esi, dword [eax + 4]
test ebx, ebx
jle 0x72db8e
movzx eax, word [esp + 0x36]
mov ebp, 0xffffffff
xor edx, edx
mov dword [esp + 0x14], ebp
mov ebp, esi
mov dword [esp + 0x30], eax
jmp 0x72d8b0
mov eax, dword [esp + 0x6c]
and dword [eax + 0x38], 0xfffffffe
mov dword [eax + 0x20], 0
mov eax, dword [esp + 0x74]
mov dword [eax], 1
movzx eax, byte [ebx + 0xf]
sub eax, 0x49
cmp al, 1
jbe 0x72d974
lea esi, [esi]
nop
add edx, 1
add ebp, 0xc
cmp dword [esp + 8], edx
je 0x72d9e9
mov eax, dword [esp + 0x10]
mov eax, dword [eax + edx*8]
sub eax, 1
js 0x72d8a0
mov ecx, dword [ebp + 8]
cmp dword [esp + 8], eax
jle 0x72da22
test ecx, ecx
js 0x72da22
mov esi, dword [esp + 0x18]
cmp dword [esi + 0xc], ecx
jle 0x72da22
mov ebx, dword [edi + 0x38]
lea ebx, [ebx + eax*4]
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebx]
test ebx, ebx
jne 0x72da22
cmp byte [ebp + 5], 0
je 0x72da22
mov esi, dword [esp + 0x18]
lea ebx, [ecx + ecx*2]
mov ecx, dword [edi]
shl ebx, 4
add ebx, dword [esi + 0x18]
or ecx, dword [ebx + 0x20]
mov esi, ecx
mov ecx, dword [edi + 4]
or ecx, dword [ebx + 0x24]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [edi], esi
mov esi, dword [esp + 0x1c]
cmp ecx, eax
mov dword [esi], ebx
mov esi, dword [esp + 0x10]
cmovl ecx, eax
cmp byte [esi + edx*8 + 4], 0
mov dword [esp + 0x14], ecx
je 0x72d948
cmp edx, 0xf
jle 0x72d998
cmp byte [ebx + 0xf], 0x4a
je 0x72d9e0
cmp edx, 0x1f
jle 0x72d9b4
test byte [ebx + 0xc], 1
jne 0x72d870
movzx eax, byte [ebx + 0xf]
sub eax, 0x49
cmp al, 1
ja 0x72d8a0
mov eax, dword [esp + 0x74]
mov esi, dword [eax]
test esi, esi
je 0x72d8a0
mov eax, dword [esp + 0x6c]
mov edi, dword [eax + 0x1c]
test edi, edi
jne 0x72dda3
mov eax, dword [esp + 0x78]
mov dword [eax], 1
jmp 0x72d793
mov esi, dword [esp + 0x30]
bt esi, edx
jb 0x72d9ae
mov esi, 1
mov ecx, eax
shl esi, cl
or word [edi + 0x22], si
cmp byte [ebx + 0xf], 0x4a
je 0x72d9e0
mov ecx, edx
mov esi, 1
shl esi, cl
mov ecx, esi
mov esi, dword [esp + 0x6c]
and ecx, dword [esi + 0x58]
je 0x72d94d
mov esi, 1
mov ecx, eax
shl esi, cl
or dword [edi + 0x28], esi
jmp 0x72d957
or byte [edi + 0x1c], 2
jmp 0x72d948
mov ebp, dword [esp + 0x14]
lea eax, [ebp + 1]
mov word [edi + 0x30], ax
cmp ebp, 0xffffffff
je 0x72db94
mov eax, dword [edi + 0x38]
mov edx, dword [esp + 0x24]
jmp 0x72da1b
add edx, 1
cmp ebp, edx
jl 0x72db94
mov ecx, dword [eax + edx*4]
test ecx, ecx
jne 0x72da10
sub esp, 4
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*8]
mov eax, dword [edi + eax*8 + 0x18]
push dword [eax]
push 0xa33bf7
push dword [esp + 0x2c]
call fcn.006cea90
add esp, 0x10
mov dword [esp + 0x24], 1
mov eax, dword [esp + 0x24]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov ebx, dword [eax + 0x14]
test ebx, ebx
jle 0x72d77e
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x20]
xor ecx, ecx
lea esi, [esi]
nop
mov eax, dword [esi + 0x80]
mov edi, 1
test eax, eax
cmove eax, esi
shl edi, cl
mov edx, dword [eax + 0x5c]
test edx, edi
jne 0x72daa3
or edx, edi
mov dword [eax + 0x5c], edx
cmp ecx, 1
je 0x72daf0
add ecx, 1
cmp ebx, ecx
jne 0x72da80
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
test eax, eax
je 0x72d7ad
xor esi, esi
mov dword [esp + 0x14], edi
mov edi, esi
mov esi, dword [esp + 0x20]
lea esi, [esi]
mov ecx, edi
xor edx, edx
mov eax, esi
add edi, 1
call fcn.0072d510
cmp ebx, edi
jne 0x72dad0
mov edi, dword [esp + 0x14]
jmp 0x72d7ad
mov dword [esp + 0x1c], ecx
call fcn.0072d0f0
mov ecx, dword [esp + 0x1c]
jmp 0x72daa3
mov ebx, dword [eax + 0x14]
test ebx, ebx
jg 0x72da71
jmp 0x72d7ad
mov esi, dword [esp + 0x24]
mov eax, 0xa303ce
cmp esi, 0x65
je 0x72d75c
mov eax, 0xa303a2
cmp esi, 0x204
je 0x72d75c
mov eax, 0xa303b8
cmp esi, 0x64
je 0x72d75c
mov eax, esi
movzx edx, al
mov eax, 0xa30394
cmp edx, 0x1c
jg 0x72d75c
mov eax, dword [edx*4 + 0xa3adc0]
mov edx, 0xa30394
test eax, eax
cmove eax, edx
jmp 0x72d75c
cmp byte [eax + 0x57], 0
jne 0x72d771
cmp byte [eax + 0x58], 0
jne 0x72d771
call fcn.006ceb20
jmp 0x72d771
xor ebx, ebx
mov word [edi + 0x30], bx
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x6c]
mov eax, dword [eax + 0x14]
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x1c]
mov dword [esp + 8], eax
movzx eax, byte [edi + 0x1c]
movzx edx, byte [esp + 8]
and eax, 0xfffffffe
and edx, 1
or eax, edx
mov byte [edi + 0x1c], al
mov eax, dword [esp + 0x6c]
mov edx, dword [ebx + 0x20]
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0x18]
mov dword [edi + 0x24], eax
xor eax, eax
test edx, edx
je 0x72dbdf
movzx eax, byte [ebx + 8]
mov byte [edi + 0x20], al
mov eax, dword [esp + 0x6c]
xor ebp, ebp
xor ebx, ebx
mov word [edi + 0x12], bp
fld qword [eax + 0x28]
fst qword [esp + 8]
fld1
fcompi st(1)
jae 0x72dc20
fld dword [0xa412d8]
fcompi st(1)
jae 0x72dd0e
fstp st(0)
mov edx, dword [esp + 0xc]
mov eax, edx
shr eax, 0x14
sub ax, 0x3fe
lea eax, [eax + eax*4]
lea ebx, [eax + eax]
jmp 0x72dc22
fstp st(0)
mov eax, dword [esp + 0x6c]
xor ecx, ecx
mov word [edi + 0x14], bx
mov ebx, 7
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
cmp ebx, eax
mov ebx, ecx
sbb ebx, edx
jb 0x72dcdb
mov ebx, 1
cmp ebx, eax
mov ebx, 0
sbb ecx, edx
jae 0x72dc8e
mov dword [esp + 8], edi
mov ecx, 0x1e
mov ebp, 7
xor esi, esi
lea esi, [esi]
nop
shld edx, eax, 1
add eax, eax
mov ebx, ecx
mov edi, esi
sub ecx, 0xa
cmp ebp, eax
sbb edi, edx
jae 0x72dc68
mov edi, dword [esp + 8]
and eax, 7
movzx eax, word [eax + eax + 0xa3ab84]
lea ebx, [ebx + eax - 0xa]
mov eax, dword [edi + 0x2c]
mov esi, dword [esp + 0x6c]
mov word [edi + 0x16], bx
mov edx, eax
and ah, 0xef
or dh, 0x10
test byte [esi + 0x38], 1
cmovne eax, edx
mov edx, edi
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x38]
call fcn.006cf410
mov dword [esp + 0x24], eax
test byte [edi + 0x1c], 1
je 0x72d793
sub esp, 0xc
push dword [edi + 0x24]
call fcn.006b6db0
and byte [edi + 0x1c], 0xfe
add esp, 0x10
jmp 0x72d793
test edx, edx
je 0x72dd03
bsr ebx, edx
xor ebx, 0x1f
mov ecx, 0x3c
sub ecx, ebx
shrd eax, edx, cl
lea ebx, [ecx + ecx*4]
shr edx, cl
and ecx, 0x20
cmovne eax, edx
lea ebx, [ebx + ebx + 0x28]
jmp 0x72dc7f
bsr ebx, eax
xor ebx, 0x1f
add ebx, 0x20
jmp 0x72dce5
fld dword [0xa411cc]
fxch st(1)
fcomi st(1)
jae 0x72ddf1
fstp st(1)
fnstcw word [esp + 0x3e]
movzx eax, word [esp + 0x3e]
or ah, 0xc
mov word [esp + 0x3c], ax
fldcw word [esp + 0x3c]
fistp qword [esp + 8]
fldcw word [esp + 0x3e]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
xor ecx, ecx
mov ebx, 7
cmp ebx, eax
mov ebx, ecx
sbb ebx, edx
jb 0x72ddcc
mov ebx, 1
cmp ebx, eax
mov ebx, 0
sbb ecx, edx
jae 0x72dc22
mov dword [esp + 8], edi
mov ecx, 0x1e
mov ebp, 7
xor esi, esi
shld edx, eax, 1
add eax, eax
mov ebx, ecx
mov edi, esi
sub ecx, 0xa
cmp ebp, eax
sbb edi, edx
jae 0x72dd78
mov edi, dword [esp + 8]
and eax, 7
movzx eax, word [eax + eax + 0xa3ab84]
lea ebx, [ebx + eax - 0xa]
jmp 0x72dc22
sub esp, 0xc
mov eax, dword [esp + 0x78]
push dword [eax + 0x18]
call fcn.006b6db0
mov eax, dword [esp + 0x7c]
add esp, 0x10
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
jmp 0x72d983
test edx, edx
je 0x72de29
bsr ebx, edx
xor ebx, 0x1f
mov ecx, 0x3c
sub ecx, ebx
shrd eax, edx, cl
lea ebx, [ecx + ecx*4]
shr edx, cl
and ecx, 0x20
cmovne eax, edx
lea ebx, [ebx + ebx + 0x28]
jmp 0x72dd8f
fstp st(0)
fnstcw word [esp + 0x3e]
fsubr qword [esp + 8]
movzx eax, word [esp + 0x3e]
or ah, 0xc
mov word [esp + 0x3c], ax
fldcw word [esp + 0x3c]
fistp qword [esp + 8]
fldcw word [esp + 0x3e]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
lea ecx, [edx - 0x80000000]
mov edx, ecx
jmp 0x72dd45
bsr ebx, eax
xor ebx, 0x1f
add ebx, 0x20
jmp 0x72ddd6
jmp 0x798ee6
mov eax, dword [8]
ud2