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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov edi, dword [eax + 0x1c]
movzx esi, byte [eax + 0x24]
mov dword [ebx], edx
mov edx, edi
add edx, 0xf
lea ebp, [edi + 0x1e]
cmovs edx, ebp
mov dword [esp + 0x20], edx
sar dword [esp + 0x20], 4
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x34], esi
mov dword [ebx + 0x30], edi
mov edi, dword [eax + 0x20]
mov edx, edi
add edx, 0xf
lea ecx, [edi + 0x1e]
cmovs edx, ecx
mov dword [esp + 0x24], edx
mov edx, 3
sar dword [esp + 0x24], 4
cmp esi, 6
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x24]
mov dword [ebx + 0x34], edi
jg 0x1001d706
xor edx, edx
cmp esi, 4
setge dl
add edx, 1
mov esi, dword [eax + 0x270]
mov dword [ebx + 0x108], edx
test esi, esi
jne 0x1001d724
mov ecx, dword [eax + 0x274]
test ecx, ecx
je 0x1001d7b5
cmp edx, 3
mov dword [ebx + 0x104], 0
je 0x1001d7bf
cmp edx, 2
je 0x1001dcb1
mov edx, dword [eax + 0x20c]
test edx, edx
jne 0x1001dca0
mov ecx, dword [eax + 0xa8]
test ecx, ecx
jne 0x1001dca0
mov ebp, dword [eax + 0x98]
test ebp, ebp
jne 0x1001dcbf
mov edi, dword [eax + 0x70]
test edi, edi
jg 0x1001dcbf
mov esi, dword [eax + 0xa0]
test esi, esi
jne 0x1001dcbf
mov edx, dword [eax + 0x328]
test edx, edx
jne 0x1001dcbf
mov ebp, dword [eax + 0x210]
test ebp, ebp
jg 0x1001dcbf
mov dword [ebx + 4], 0x42
mov ecx, 1
mov edx, 0x42
jmp 0x1001dccb
mov dword [ebx + 0x104], 1
mov dword [ebx + 4], 0xf4
mov edx, 0xf4
mov ecx, dword [eax + 0x28]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 8], ecx
lea esi, [esi]
mov esi, dword [eax + 0x60]
cmp esi, 1
mov dword [esp + 0x28], esi
je 0x1001dc50
mov edi, dword [eax + 0x7c]
test edi, edi
mov dword [esp + 0x2c], edi
jne 0x1001db90
mov esi, dword [eax + 0x70]
xor ecx, ecx
mov edx, 1
mov edi, dword [eax + 0x5c]
test esi, esi
setne cl
test edi, edi
cmovg edx, dword [eax + 0x5c]
mov esi, ecx
mov dword [ebx + 0xfc], esi
mov ecx, 2
cmp esi, edx
jl 0x1001dba7
mov edx, dword [eax + 0x58]
cmp ecx, edx
cmovl ecx, edx
mov edx, 0x10
cmp ecx, 0x10
cmovg ecx, edx
cmp dword [esp + 0x28], 1
mov dword [ebx + 0x100], ecx
je 0x1001dc33
xor edx, edx
mov esi, ecx
cmp dword [esp + 0x2c], 1
sete dl
sub esi, edx
mov dword [ebx + 0x28], esi
cmp dword [esp + 0x2c], 1
sbb esi, esi
add esi, 2
imul esi, ecx
mov ecx, dword [eax + 0x6c]
add esi, 1
test ecx, ecx
jne 0x1001dbb0
mov edi, dword [eax + 0x70]
mov dword [esp + 0x30], edi
cmp esi, 0xf
mov edx, 5
mov dword [ebx + 0x1c], 4
mov edi, 1
jle 0x1001d8c0
lea esi, [esi]
mov ecx, edx
mov ebp, edi
shl ebp, cl
add edx, 1
cmp esi, ebp
jge 0x1001d8b0
mov dword [ebx + 0x1c], ecx
mov edx, dword [esp + 0x30]
test edx, edx
jne 0x1001d8d6
mov ebp, dword [eax + 0xa0]
test ebp, ebp
je 0x1001dc03
cmp dword [esp + 0x2c], 1
mov edi, 1
mov esi, dword [esp + 0x30]
mov dword [ebx + 0x20], 0
sbb edx, edx
add edx, 2
add esi, 2
imul esi, edx
mov edx, 5
mov dword [ebx + 0x24], 4
shl esi, 2
cmp esi, 0xf
jle 0x1001d920
lea esi, [esi]
mov ecx, edx
mov ebp, edi
shl ebp, cl
add edx, 1
cmp esi, ebp
jge 0x1001d910
mov dword [ebx + 0x24], ecx
mov ecx, dword [eax + 0xa0]
mov dword [ebx + 0x58], 1
mov dword [ebx + 0x2c], 0
test ecx, ecx
jne 0x1001d94a
mov esi, dword [eax + 0x328]
test esi, esi
mov dword [esp + 0x2c], esi
je 0x1001dc24
mov edx, dword [esp + 0x24]
mov dword [ebx + 0x38], 0
mov dword [esp + 0x2c], 1
add edx, 1
and edx, 0xfffffffe
mov dword [ebx + 0x34], edx
mov ebp, dword [esp + 0x20]
shl edx, 4
mov dword [ebx + 0x3c], ecx
mov ecx, dword [eax + 0x2ec]
sub ecx, dword [esp + 0x38]
mov esi, dword [eax + 0x2e4]
shl ebp, 4
mov edi, dword [eax + 0x2e8]
add ebp, ecx
mov ecx, dword [eax + 0x2f0]
sub ecx, dword [esp + 0x3c]
mov dword [ebx + 0x40], 1
mov dword [ebx + 0x48], esi
add edx, ecx
movzx ecx, byte [esp + 0x2c]
mov dword [ebx + 0x50], edi
mov dword [ebx + 0x4c], ebp
shr edx, cl
test esi, esi
mov dword [ebx + 0x54], edx
mov ecx, 1
jne 0x1001d9c2
test edi, edi
je 0x1001dc10
mov edx, dword [eax + 0x38]
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x5c], 0
test edx, edx
jle 0x1001d9e7
mov ecx, dword [eax + 0x34]
test ecx, ecx
jle 0x1001d9e7
mov dword [ebx + 0x5c], 1
mov dword [ebx + 0x60], edx
mov dword [ebx + 0x64], ecx
mov ecx, dword [eax + 0x3c]
lea edx, [ecx - 1]
cmp edx, 1
setbe dl
movzx edx, dl
test edx, edx
mov dword [ebx + 0x68], edx
je 0x1001da08
xor edx, edx
cmp ecx, 2
sete dl
mov dword [ebx + 0x6c], edx
mov esi, dword [eax + 0x44]
mov edx, 5
cmp dword [eax + 0x40], 5
cmovbe edx, dword [eax + 0x40]
mov dword [ebx + 0x70], 0
cmp esi, 1
mov dword [ebx + 0x74], edx
jbe 0x1001da33
xor ecx, ecx
cmp dword [esp + 0x34], 8
setg cl
mov esi, ecx
mov edi, dword [eax + 0x48]
mov ecx, 2
mov ebp, dword [eax + 0x4c]
mov dword [ebx + 0x78], esi
mov dword [ebx + 0x7c], 0
cmp edi, 0xa
cmovae edi, ecx
cmp ebp, 0x10
cmovae ebp, ecx
mov ecx, dword [eax + 0x50]
mov dword [ebx + 0x80], edi
mov dword [ebx + 0x84], ebp
cmp ecx, 0xa
jbe 0x1001da74
xor ecx, ecx
cmp dword [esp + 0x34], 9
setl cl
add ecx, ecx
cmp edi, 2
mov dword [ebx + 0x88], ecx
je 0x1001dc80
mov dword [ebx + 0x7c], 1
mov edi, 1
cmp edx, 5
je 0x1001dc65
mov dword [ebx + 0x70], 1
mov edx, dword [eax + 0x54]
lea ecx, [edx - 1]
cmp ecx, 4
setbe cl
movzx ecx, cl
test ecx, ecx
mov dword [ebx + 0x8c], ecx
je 0x1001dac4
mov dword [ebx + 0x90], edx
mov dword [ebx + 0x94], edx
mov edx, dword [eax + 0x318]
test edx, edx
je 0x1001dadc
mov ecx, dword [eax + 0x31c]
test ecx, ecx
jne 0x1001dbd3
mov dword [ebx + 0x98], 0
mov edi, dword [eax + 0x30]
xor edx, edx
mov dword [ebx + 0xac], 0
test edi, edi
setne dl
mov dword [ebx + 0xa8], edx
mov edx, dword [eax + 0x324]
mov dword [ebx + 0xe0], edx
xor edx, edx
cmp dword [esp + 0x28], 1
setg dl
test edx, edx
mov dword [ebx + 0xe4], edx
je 0x1001db87
mov edx, dword [eax + 0x228]
mov eax, 1
mov dword [ebx + 0xe8], 1
mov dword [ebx + 0xec], 0
mov dword [ebx + 0xf0], 0
shl edx, 2
cmp edx, 1
jle 0x1001db7b
sub edx, 1
cvtsi2ss xmm0, edx
movss dword [esp], xmm0
call fcn.102db583
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
mulss xmm0, dword [0x1032fb20]
cvttss2si eax, xmm0
add eax, 1
mov dword [ebx + 0xf8], eax
mov dword [ebx + 0xf4], eax
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, 4
cmp dword [eax + 0x5c], 4
cmovge edx, dword [eax + 0x5c]
mov dword [ebx + 0xfc], 2
mov ecx, edx
jmp 0x1001d83c
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
lea edx, [edi - 1]
cmp edi, ecx
mov edi, dword [eax + 0x70]
cmovg edx, ecx
add edx, edi
cmp esi, edx
mov dword [esp + 0x30], edi
cmovl esi, edx
jmp 0x1001d893
mov esi, dword [eax + 0x308]
add ecx, ecx
mov dword [ebx + 0x9c], edx
xor edx, edx
mov dword [ebx + 0x98], 1
mov dword [ebx + 0xa0], ecx
test esi, esi
sete dl
mov dword [ebx + 0xa4], edx
jmp 0x1001dae6
mov dword [ebx + 0x20], 2
jmp 0x1001d920
test ebp, ebp
jne 0x1001d9c2
xor ecx, ecx
test edx, edx
setne cl
jmp 0x1001d9c2
mov dword [ebx + 0x38], 1
mov edx, dword [ebx + 0x34]
jmp 0x1001d966
mov dword [ebx + 0x28], 0
xor ecx, ecx
mov dword [ebx + 0x100], 0
jmp 0x1001d871
cmp edx, 0x64
jle 0x1001d800
mov dword [ebx + 0x18], 1
jmp 0x1001d800
test esi, esi
jne 0x1001da98
test edi, edi
je 0x1001da9f
jmp 0x1001da98
cmp ebp, 2
jne 0x1001da83
xor di, di
cmp ecx, 2
nop
jne 0x1001da83
jmp 0x1001da8f
mov dword [ebx + 4], 0x64
mov edx, 0x64
jmp 0x1001d7cb
mov dword [ebx + 4], 0x7a
mov dl, 0x7a
jmp 0x1001d7cb
mov dword [ebx + 4], 0x4d
mov edx, 0x4d
mov dword [ebx + 0xc], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebx + 0x10], 1
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0
cmp ecx, 9
mov dword [ebx + 8], ecx
jne 0x1001d7f0
mov dword [ebx + 0x18], 1
mov dword [ebx + 8], 0xb
jmp 0x1001d7f0