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

Disassembly:
mov eax, dword [esp + 0x18]
sub esp, 0x38
push ebx
mov ecx, dword [eax + 4]
mov dword [esp + 4], ecx
push esi
push edi
mov esi, dword [eax]
push ebp
xor edi, edi
xor ebx, ebx
mov eax, dword [esp + 0x64]
add eax, 0xf
mov dword [esp + 0x14], edi
cdq
and edx, 0xf
mov dword [esp + 0x18], edi
add eax, edx
mov ecx, dword [esp + 0x5c]
sar eax, 4
dec ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x4c]
dec eax
mov dword [esp + 0x38], edi
imul eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
push edx
mov dword [eax], esi
lea edx, [esp + 0x3c]
push eax
mov dword [eax + 4], ecx
lea ecx, [esp + 0x58]
push ecx
push edx
lea ecx, [esp + 0x60]
push ecx
call fcn.1c4739a0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x48]
imul eax, dword [esp + 0x6c]
add esp, 0x14
cmp eax, ecx
jl 0x1c4737f1
mov ecx, dword [esp + 0x10]
push esi
mov eax, dword [esp + 0x60]
push ecx
mov edx, dword [esp + 0x60]
push eax
mov ecx, dword [esp + 0x60]
push edx
mov eax, dword [esp + 0x60]
push ecx
push eax
mov edx, dword [ebp + 0xc]
push ebp
push edx
call fcn.1c473920
fld qword [ebp]
fmul qword [0x1c4b7108]
mov dword [esp + 0x3c], eax
add esp, 0x20
fild dword [esp + 0x1c]
fcompp
fnstsw ax
test ah, 1
jne 0x1c4737fb
test edi, edi
jne 0x1c47359e
mov edi, dword [esp + 0x64]
push esi
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x14]
add eax, ecx
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x5c]
push eax
push ecx
mov eax, dword [ebp + 0xc]
push edx
push ebp
push eax
call fcn.1c473920
mov dword [esp + 0x34], eax
add esp, 0x20
mov eax, dword [esp + 0x10]
push esi
sub eax, edi
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
push eax
mov edx, dword [ebp + 0xc]
push ecx
push ebp
push edx
call fcn.1c473920
mov ecx, dword [esp + 0x34]
add esp, 0x20
cmp eax, ecx
jge 0x1c4735d5
neg edi
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x1c47360b
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x5c]
lea eax, [esi + ebx]
push eax
push ecx
mov eax, dword [esp + 0x60]
push edx
mov ecx, dword [esp + 0x60]
push eax
mov edx, dword [esp + 0x60]
push ecx
push edx
mov eax, dword [ebp + 0xc]
push ebp
push eax
call fcn.1c473920
mov dword [esp + 0x38], eax
add esp, 0x20
mov eax, esi
mov ecx, dword [esp + 0x10]
sub eax, ebx
mov edx, dword [esp + 0x5c]
push eax
push ecx
mov eax, dword [esp + 0x60]
push edx
mov ecx, dword [esp + 0x60]
push eax
mov edx, dword [esp + 0x60]
push ecx
push edx
mov eax, dword [ebp + 0xc]
push ebp
push eax
call fcn.1c473920
mov ecx, dword [esp + 0x38]
add esp, 0x20
cmp eax, ecx
jge 0x1c473644
neg ebx
mov dword [esp + 0x18], eax
lea eax, [ebx + esi]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x14]
add eax, edi
push eax
push ecx
mov eax, dword [esp + 0x60]
push edx
mov ecx, dword [esp + 0x60]
push eax
push ecx
mov edx, dword [ebp + 0xc]
push ebp
push edx
call fcn.1c473920
mov dword [esp + 0x40], eax
add esp, 0x20
mov ecx, eax
mov eax, dword [esp + 0x1c]
cmp ecx, eax
jl 0x1c473680
mov ecx, eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp eax, edx
jl 0x1c47368e
mov eax, edx
cmp ecx, eax
jle 0x1c473694
mov ecx, eax
mov eax, dword [esp + 0x1c]
cmp ecx, eax
je 0x1c4737fb
mov eax, dword [esp + 0x14]
cmp ecx, eax
jne 0x1c47371c
lea eax, [esp + 0x24]
lea edx, [esp + 0x28]
push eax
push edx
lea eax, [esp + 0x34]
mov edx, dword [esp + 0x18]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x6c]
push ecx
push 0
mov ecx, dword [esp + 0x70]
push edi
push esi
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
push ecx
push edx
push eax
push ebp
call fcn.1c473820
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x4c], ecx
add esp, 0x38
mov ecx, eax
imul ecx, edi
add edx, ecx
mov ecx, dword [esp + 0x24]
imul ecx, edi
mov edi, ecx
mov dword [esp + 0x10], edx
cmp eax, 1
jne 0x1c473715
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
jmp 0x1c4734e1
xor ebx, ebx
jmp 0x1c4734e1
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x28]
cmp ecx, eax
lea eax, [esp + 0x24]
push eax
push edx
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
push ebx
jne 0x1c473790
mov edx, dword [esp + 0x28]
push 0
mov eax, dword [esp + 0x78]
push esi
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
push ecx
push edx
push eax
push ebp
call fcn.1c473820
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x50], ecx
add esp, 0x38
mov ecx, eax
imul ecx, ebx
add esi, ecx
mov ecx, dword [esp + 0x24]
imul ecx, ebx
mov ebx, ecx
cmp eax, 1
jne 0x1c473789
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
jmp 0x1c4734e1
xor edi, edi
jmp 0x1c4734e1
mov edx, dword [esp + 0x28]
push edi
mov eax, dword [esp + 0x78]
push esi
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
push ecx
push edx
push eax
push ebp
call fcn.1c473820
mov edx, dword [esp + 0x48]
add esp, 0x38
mov ecx, eax
imul ecx, edi
add edx, ecx
mov ecx, eax
imul ecx, ebx
add esi, ecx
mov dword [esp + 0x10], edx
cmp eax, 1
jne 0x1c4737e8
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
neg edi
neg ebx
jmp 0x1c4734e1
xor ebx, ebx
xor edi, edi
jmp 0x1c4734e1
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x38
ret
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
pop ebp
pop edi
mov dword [eax], esi
mov dword [eax + 4], ecx
mov eax, 1
pop esi
pop ebx
add esp, 0x38
ret