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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x70
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push ebx
call fcn.0042b8d0
add esp, 4
mov esi, eax
push edi
push ebx
call fcn.0042b8f0
add esp, 8
cmp dword [edi + 0x498], 0
je 0x47292b
test byte [esi + 0x44], 1
je 0x47292b
cmp dword [esi], 0
jne 0x47292b
cmp dword [esi + 0x24], 0
jne 0x47292b
cmp dword [eax + 0x1c], 0
je 0x473122
mov dword [esp + 0x10], 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x88]
test eax, eax
je 0x472a0d
add eax, 0xc4
push 0x13
push 0x9c9680
push eax
call fcn.0044fd00
add esp, 0xc
test eax, eax
je 0x472a0d
mov esi, eax
cmp dword [eax + 4], 0
je 0x472a0d
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x498], 0
js 0x4729bb
lea eax, [esp + 0x58]
push eax
call fcn.0041c2b0
sub esp, 0x1c
movups xmm0, xmmword [esi + 8]
movups xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esp + 0x78]
movups xmmword [esp], xmm0
call fcn.0041c390
add esp, 0x20
mov ecx, eax
mov edi, edx
mov eax, 0x3e8
mov edx, dword [ebp + 0xc]
imul dword [edx + 0x498]
cmp ecx, eax
sbb edi, edx
jge 0x472a0d
push dword [ebp + 8]
call fcn.0042b8d0
add esp, 4
mov ecx, dword [esi]
mov eax, dword [eax + 4]
test ecx, ecx
je 0x4729dd
test eax, eax
je 0x472a0d
push eax
push ecx
call fcn.00786b78
add esp, 8
test eax, eax
jne 0x472a0d
mov esi, dword [esi + 4]
test esi, esi
setne al
and al, byte [esp + 0x10]
cmp al, 1
jne 0x472a0d
push esi
call fcn.0062e150
add esp, 4
test eax, eax
je 0x472a0d
push esi
push ebx
call fcn.005062e0
add esp, 8
jmp 0x47311e
push ebx
call fcn.005062d0
add esp, 4
mov dword [esp + 4], eax
mov edi, dword [ebp + 8]
push edi
call fcn.0042b8d0
add esp, 4
mov esi, eax
mov ebx, dword [ebp + 0xc]
push ebx
push edi
call fcn.0042b8f0
add esp, 8
mov ecx, eax
mov eax, dword [esi + 0x24]
xor edx, edx
mov dword [esp + 0x28], eax
test eax, eax
jne 0x472a47
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x20], eax
test byte [ebx + 0x6eb], 0x20
je 0x472abc
mov eax, dword [ebx + 0xd20]
test eax, eax
je 0x472a7c
cmp dword [ebp + 8], 0
je 0x472abc
cmp dword [eax + 4], 0
jg 0x472a82
jmp 0x472abc
cmp dword [ebp + 8], 0
je 0x472abc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax + 8], 0
jle 0x472abc
xor eax, eax
cmp dword [esp + 0x28], 0
setne al
test edx, edx
mov esi, ecx
mov ecx, 0x9c96ba
cmovne ecx, edx
push eax
push ecx
push 0x9c9694
push dword [ebp + 8]
push ebx
mov edi, edx
call fcn.00443a90
mov edx, edi
mov ecx, esi
add esp, 0x14
cmp dword [esp + 4], 0
je 0x472c52
test byte [esp + 0x3c], 1
jne 0x472c5c
cmp dword [esp + 0x20], 0
je 0x472b76
mov esi, ecx
call fcn.0061ecf0
push eax
push dword [esp + 8]
call fcn.0062e170
add esp, 8
test eax, eax
je 0x472ff1
push 1
push dword [esp + 0x24]
push eax
call fcn.0061ef70
add esp, 0xc
test eax, eax
je 0x472ff1
mov edi, ebx
test byte [ebx + 0x6eb], 0x20
je 0x472b39
mov eax, dword [edi + 0xd20]
test eax, eax
je 0x472b2b
cmp dword [eax + 4], 0
jle 0x472b39
push 0x9c9856
push edi
call fcn.004439c0
add esp, 8
push 0xc
push dword [esp + 8]
call fcn.0062f2e0
add esp, 8
test byte [edi + 0x6eb], 0x20
mov ecx, esi
je 0x472b76
mov eax, dword [ebx + 0xd20]
test eax, eax
je 0x472b62
cmp dword [eax + 4], 0
jle 0x472b76
push dword [esp + 0x20]
push 0x9c9874
push ebx
call fcn.004439c0
mov ecx, esi
add esp, 0xc
xor edi, edi
test byte [esp + 0x3c], 1
je 0x472bb2
mov esi, ecx
push 0x8000
push dword [esp + 8]
call fcn.0062f2e0
add esp, 8
cmp dword [esp + 0x20], 0
jne 0x472bb2
mov eax, dword [esi + 0x68]
and eax, 0x10
jne 0x472bb2
push 0x80000
push dword [esp + 8]
call fcn.0062f2e0
add esp, 8
test edi, edi
sete al
and al, byte [esp + 0x10]
cmp al, 1
mov eax, edi
jne 0x47317d
push dword [ebp + 8]
call fcn.0042b8d0
add esp, 4
mov ebx, dword [ebx + 0x88]
test ebx, ebx
je 0x47311e
mov edi, eax
add ebx, 0xc4
push 0x13
push 0x9c9680
push ebx
call fcn.0044fd00
add esp, 0xc
mov esi, eax
test eax, eax
je 0x473078
push dword [esp + 4]
call fcn.0062e150
add esp, 4
test eax, eax
mov eax, 0
je 0x47317d
mov eax, dword [edi + 4]
test eax, eax
je 0x4730d9
push 0x9c9100
push 0xd5a
push eax
call fcn.00405de0
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x4730db
push dword [esp + 4]
call fcn.0062e020
add esp, 4
jmp 0x47311e
mov eax, 0x1b
jmp 0x47317d
mov dword [esp + 0x18], edx
xor eax, eax
mov dword [esp + 0xc], ecx
test byte [ecx + 0x68], 0x40
mov dword [esp + 0x14], 0
jne 0x472ce2
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x4731ac
mov eax, dword [ecx + 4]
mov esi, 0x4d
test eax, eax
js 0x47316d
push eax
push dword [ecx]
call fcn.005837f0
add esp, 8
test eax, eax
je 0x47306e
mov edi, eax
push 0
push 0
push 0
push eax
call fcn.005f6a40
add esp, 0x10
test eax, eax
je 0x4730cb
mov dword [esp + 8], eax
push eax
call fcn.00618350
add esp, 4
test eax, eax
jle 0x47314f
mov dword [esp + 0x24], edi
xor ebx, ebx
xor edi, edi
mov esi, dword [esp + 8]
jmp 0x473023
mov cl, 1
mov dword [esp + 0x14], 0
jmp 0x472d20
mov cl, 1
mov dword [esp + 0x14], ecx
nop word cs:[eax + eax]
push esi
push eax
push ebx
call fcn.004439c0
add esp, 0xc
mov eax, 1
test byte [esp + 0x4c], 1
mov ecx, 0
je 0x472c74
mov dword [esp + 0x4c], ecx
mov esi, dword [eax*4 + 0x9c96c8]
push esi
push 0
call dword [0xb037ac]
test eax, eax
je 0x472fa0
mov edi, eax
mov dword [esp + 0x48], esi
push 0
push eax
call dword [0xb03790]
mov esi, eax
mov al, 1
mov dword [esp + 0x44], eax
test esi, esi
mov dword [esp + 8], edi
je 0x472f20
mov dword [esp + 0x2c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x30], 0
jmp 0x472d96
mov edi, dword [esp + 8]
push esi
push edi
call dword [0xb03790]
mov esi, eax
test eax, eax
je 0x472f10
mov eax, dword [esi + 4]
mov dword [esp + 0x54], eax
test eax, eax
je 0x472d84
lea ebx, [esp + 0x58]
push ebx
call dword [0xb03888]
mov eax, dword [esi + 0xc]
add eax, 0x20
push ebx
push eax
mov edi, dword [0xb037e8]
call edi
test eax, eax
jg 0x472d80
mov eax, dword [esi + 0xc]
add eax, 0x28
push eax
push ebx
call edi
test eax, eax
jg 0x472d80
push 2
lea eax, [esp + 0x3e]
push eax
push dword [esi + 0xc]
push dword [esi]
call dword [0xb037a4]
test eax, eax
mov edi, dword [esp + 8]
je 0x472df1
test byte [esp + 0x3a], 4
je 0x472d84
jmp 0x472dfb
call dword [0xb03850]
test eax, eax
jne 0x472d84
lea eax, [esp + 0x34]
push eax
push 0
push 0
push esi
call dword [0xb037a0]
test eax, eax
je 0x472d84
mov eax, dword [esp + 0x34]
test eax, eax
je 0x472e4f
cmp eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
jbe 0x472e53
push 0x9c9100
push 0xc09
push eax
push ecx
mov ebx, ecx
call fcn.00405ec0
add esp, 0x10
test eax, eax
je 0x472fcf
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x40], ecx
mov ecx, eax
jmp 0x472e53
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x34]
push eax
push ecx
push 0
push esi
mov ebx, ecx
call dword [0xb037a0]
test eax, eax
mov dword [esp + 0x30], ebx
je 0x472d84
mov eax, dword [ebx]
mov dword [esp + 0x24], eax
test eax, eax
je 0x472eb4
mov eax, dword [ebx + 4]
mov dword [esp + 0x50], eax
xor ebx, ebx
nop word cs:[eax + eax]
mov eax, dword [esp + 0x50]
push dword [eax + ebx*4]
push 0x9c98ad
call fcn.00786b78
add esp, 8
test eax, eax
je 0x472ec5
inc ebx
cmp dword [esp + 0x24], ebx
jne 0x472e90
jmp 0x472d84
call dword [0xb03850]
cmp eax, 0x80092004
jne 0x472d84
push dword [esi + 8]
lea eax, [esp + 0x58]
push eax
push 0
call fcn.0063cdb0
add esp, 0xc
test eax, eax
je 0x472d84
push eax
push dword [esp + 8]
mov ebx, eax
call fcn.0062e580
add esp, 8
cmp eax, 1
sete al
mov ecx, dword [esp + 0x2c]
or cl, al
mov dword [esp + 0x2c], ecx
push ebx
call fcn.0063ce00
add esp, 4
jmp 0x472d84
xor esi, esi
xor edi, edi
mov ebx, dword [esp + 0x30]
jmp 0x472f2e
mov dword [esp + 0x2c], 0
xor edi, edi
xor ebx, ebx
xor esi, esi
push 0x9c9100
push 0xc43
push ebx
call fcn.00405f90
add esp, 0xc
push esi
call dword [0xb03798]
push 0
push dword [esp + 0xc]
call dword [0xb03788]
cmp byte [esp + 0x44], 0
mov ebx, dword [ebp + 0xc]
je 0x472bb2
test byte [esp + 0x2c], 1
mov esi, dword [esp + 0x48]
je 0x472fa0
mov al, 1
mov dword [esp + 0x14], eax
test byte [ebx + 0x6eb], 0x20
je 0x472d0b
mov ecx, dword [ebx + 0xd20]
mov eax, 0x9c96d0
test ecx, ecx
je 0x472cee
mov dl, 1
mov dword [esp + 0x14], edx
jmp 0x472fc0
test byte [ebx + 0x6eb], 0x20
je 0x472d0b
mov ecx, dword [ebx + 0xd20]
mov eax, 0x9c96f7
test ecx, ecx
je 0x472d00
cmp dword [ecx + 4], 0
jg 0x472d00
jmp 0x472d0b
push 0x9c9882
push dword [ebp + 0xc]
call fcn.00443930
add esp, 8
mov edi, 0x1b
mov dword [esp + 0x44], 0
jmp 0x472f2e
push dword [esp + 0x20]
push 0x9c983b
push ebx
call fcn.00443930
add esp, 0xc
mov eax, 0x52
jmp 0x47317d
mov esi, dword [esp + 8]
inc edi
push esi
call fcn.00618350
add esp, 4
cmp edi, eax
jge 0x47313c
push edi
push esi
call fcn.00618370
add esp, 8
mov esi, eax
mov eax, dword [eax]
test eax, eax
je 0x47304b
push eax
push dword [esp + 8]
call fcn.0062e580
add esp, 8
test eax, eax
je 0x473132
inc ebx
mov eax, dword [esi + 4]
test eax, eax
je 0x47300d
push eax
push dword [esp + 8]
call fcn.0062e6d0
add esp, 8
test eax, eax
mov esi, dword [esp + 8]
je 0x473132
inc ebx
jmp 0x473011
mov esi, 0x1b
jmp 0x47316d
push 0x9c9100
push 0xd4a
push 0x18
push 1
call fcn.00405d00
add esp, 0x10
test eax, eax
je 0x47311e
mov esi, eax
push 0x477e30
push eax
push 0x13
push 0x9c9680
push ebx
call fcn.0044fad0
add esp, 0x14
test eax, eax
jne 0x472c00
push 0x9c9100
push 0xd51
push esi
call fcn.00405f90
add esp, 0xc
jmp 0x47311e
push edi
call fcn.0057bf20
add esp, 4
jmp 0x47316d
xor edi, edi
mov eax, dword [esi + 4]
test eax, eax
je 0x4730ff
push eax
call fcn.0062e020
add esp, 4
push 0x9c9100
push 0xd63
push dword [esi]
call fcn.00405f90
add esp, 0xc
lea eax, [esp + 0x58]
push eax
call fcn.0041c2b0
add esp, 4
movups xmm0, xmmword [esp + 0x58]
movups xmmword [esi + 8], xmm0
mov eax, dword [esp + 4]
mov dword [esi + 4], eax
mov dword [esi], edi
xor eax, eax
jmp 0x47317d
test byte [eax + 0x68], 0x40
sete al
mov dword [esp + 0x10], eax
jmp 0x472933
mov ebx, dword [ebp + 0xc]
mov esi, 0x4d
jmp 0x47314b
xor eax, eax
test ebx, ebx
mov esi, 0x4d
cmovg esi, eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [esp + 0x24]
push fcn.00578e30
push dword [esp + 0xc]
call fcn.006182e0
add esp, 8
push edi
call fcn.0057bf20
add esp, 4
test esi, esi
je 0x473185
push 0x9c972b
push ebx
call fcn.00443930
add esp, 8
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test byte [ebx + 0x6eb], 0x20
je 0x4731ac
mov eax, dword [ebx + 0xd20]
test eax, eax
je 0x47319e
cmp dword [eax + 4], 0
jle 0x4731ac
push 0x9c974f
push ebx
call fcn.004439c0
add esp, 8
mov edx, dword [esp + 0x18]
mov eax, edx
or eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
je 0x472ad2
test edx, edx
je 0x4731e1
push edx
push dword [esp + 8]
call fcn.0062d610
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
add esp, 8
test eax, eax
je 0x473289
cmp dword [esp + 0x1c], 0
je 0x473208
push dword [esp + 0x1c]
push dword [esp + 8]
call fcn.0062d670
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
add esp, 8
test eax, eax
je 0x4732d9
test byte [ebx + 0x6eb], 0x20
je 0x472ad2
mov eax, dword [ebx + 0xd20]
test eax, eax
je 0x473225
cmp dword [eax + 4], 0
jle 0x473259
test edx, edx
mov eax, 0x9c96ba
cmovne eax, edx
push eax
push 0x9c9823
push ebx
call fcn.004439c0
mov ecx, dword [esp + 0x18]
add esp, 0xc
test byte [ebx + 0x6eb], 0x20
je 0x472ad2
mov eax, dword [ebx + 0xd20]
test eax, eax
je 0x473263
cmp dword [eax + 4], 0
jle 0x472ad2
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov eax, 0x9c96ba
cmovne eax, ecx
push eax
push 0x9c982f
push ebx
call fcn.004439c0
mov ecx, dword [esp + 0x18]
add esp, 0xc
jmp 0x472ad2
cmp dword [esp + 0x28], 0
setne al
or al, byte [esp + 0x14]
test al, 1
je 0x473325
test byte [ebx + 0x6eb], 0x20
je 0x4731e1
mov eax, dword [ebx + 0xd20]
test eax, eax
je 0x4732be
cmp dword [eax + 4], 0
jle 0x4731e1
push 0x9c979c
push ebx
call fcn.004439c0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
add esp, 8
jmp 0x4731e1
cmp dword [esp + 0x28], 0
setne al
or al, byte [esp + 0x14]
test al, 1
je 0x47332d
test byte [ebx + 0x6eb], 0x20
je 0x473208
mov eax, dword [ebx + 0xd20]
test eax, eax
je 0x47330a
cmp dword [eax + 4], 0
jle 0x473208
push 0x9c97f1
push ebx
call fcn.004439c0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
add esp, 8
jmp 0x473208
push edx
push 0x9c9779
jmp 0x473336
push dword [esp + 0x1c]
push 0x9c97ce
push ebx
call fcn.00443930
add esp, 0xc
mov eax, 0x4d
jmp 0x47317d