Function at 0x15c31d
Capabilities:
Inspect section memory permissions

Disassembly:
push 0x84
mov eax, 0x187475
call fcn.00151e50
mov dword [ebp - 0x28], ecx
mov esi, dword [fcn.00151290]
lea eax, [ebp - 0x80]
xor edi, edi
push eax
mov dword [ebp - 0x30], edi
call esi
lea eax, [ebp - 0x90]
push eax
call esi
mov esi, dword [ebp + 0x10]
mov eax, dword [esi]
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x80]
push ecx
push edi
push 0x15ced0
push esi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], edi
call dword [eax + 0x10]
cmp eax, edi
jl 0x15c422
cmp word [ebp - 0x80], 8
jne 0x16b72d
mov eax, dword [esi]
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x90]
push ecx
push edi
push 0x15ceb8
push esi
call dword [eax + 0x10]
cmp eax, edi
jl 0x15c422
cmp word [ebp - 0x90], 8
jne 0x16b72d
lea eax, [ebp - 0x10]
push eax
mov esi, 0x7fffffff
push esi
push dword [ebp - 0x78]
call fcn.0015ceed
cmp eax, edi
jl 0x15c422
lea eax, [ebp - 0x2c]
push eax
push esi
push dword [ebp - 0x88]
call fcn.0015ceed
cmp eax, edi
jl 0x15c422
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x2c]
lea esi, [ecx + eax + 2]
push esi
push edi
call dword [0x1512a4]
mov ebx, eax
mov dword [ebp - 0x30], ebx
cmp ebx, edi
je 0x16b721
push dword [ebp - 0x78]
push esi
push ebx
call fcn.00158981
cmp eax, edi
jl 0x15c422
push 0x15cecc
push esi
push ebx
call fcn.0015c2a5
cmp eax, edi
jl 0x15c422
push dword [ebp - 0x88]
push esi
push ebx
call fcn.0015c2a5
mov dword [ebp - 0x10], eax
mov esi, dword [fcn.0015128c]
lea eax, [ebp - 0x80]
push eax
call esi
lea eax, [ebp - 0x90]
push eax
call esi
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov ecx, dword [ebp + 0xc]
and ecx, 0x400
xor eax, eax
or eax, ecx
push 1
pop esi
je 0x15c4b1
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4dc]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp - 0x2c], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163b9e
cmp word [ebp - 0x24], 3
je 0x16b710
cmp word [ebp - 0x24], si
jne 0x163b92
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x650], esi
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov ecx, dword [ebp + 0xc]
and ecx, 0x1000
xor eax, eax
or eax, ecx
je 0x15c538
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b494]
mov dword [ebp - 0x2c], edi
push eax
mov dword [ebp - 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163bba
cmp word [ebp - 0x24], 8
jne 0x163bae
mov esi, dword [ebp - 0x28]
add esi, 0x6ac
mov eax, dword [esi]
cmp eax, edi
jne 0x16b741
push dword [ebp - 0x1c]
call dword [fcn.00151288]
mov dword [esi], eax
cmp eax, edi
je 0x16b74d
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x40000000
xor ecx, ecx
or eax, ecx
je 0x15c5ae
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4d8]
mov dword [ebp - 0x2c], edi
push eax
mov dword [ebp - 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163bd6
xor eax, eax
cmp word [ebp - 0x24], 0xb
je 0x16b761
inc eax
cmp word [ebp - 0x24], ax
jne 0x163bca
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x66c], eax
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
mov ebx, dword [0x1512b0]
and eax, 4
xor ecx, ecx
or eax, ecx
je 0x163bf2
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b48c]
mov dword [ebp - 0x2c], edi
push eax
mov dword [ebp - 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x16b79c
cmp word [ebp - 0x24], 8
jne 0x16b776
mov esi, dword [ebp - 0x28]
lea eax, [esi + 0x6b0]
push eax
push dword [ebp - 0x1c]
call ebx
test eax, eax
jl 0x163be6
push dword [esi + 0x6d4]
lea ecx, [esi + 8]
push dword [ebp + 0x14]
push dword [ebp - 0x1c]
call fcn.0015d366
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 8
xor ecx, ecx
or eax, ecx
je 0x15c6c4
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b490]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163c06
cmp word [ebp - 0x24], 8
je 0x163ad8
cmp word [ebp - 0x24], 1
jne 0x163bfa
mov edi, dword [ebp - 0x28]
add edi, 0x6c0
mov esi, 0x158c80
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x28]
xor edi, edi
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x10
xor ecx, ecx
or eax, ecx
je 0x15c743
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b498]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163c22
cmp word [ebp - 0x24], 8
je 0x16b7b6
cmp word [ebp - 0x24], 1
jne 0x163c16
mov esi, dword [ebp - 0x28]
add esi, 0x680
mov eax, dword [esi]
cmp eax, edi
jne 0x16b7eb
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
mov esi, dword [ebp - 0x28]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x20
xor ecx, ecx
or eax, ecx
je 0x15c7c2
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b49c]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163c56
cmp word [ebp - 0x24], 8
je 0x163af4
cmp word [ebp - 0x24], 1
jne 0x163c4a
mov esi, dword [ebp - 0x28]
add esi, 0x690
mov eax, dword [esi]
cmp eax, edi
jne 0x16b80d
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
mov esi, dword [ebp - 0x28]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x40
xor ecx, ecx
or eax, ecx
je 0x15c83c
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4a0]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163c76
cmp word [ebp - 0x24], 3
jne 0x163c66
mov eax, dword [ebp - 0x1c]
sub eax, edi
je 0x163b87
dec eax
jne 0x16b823
mov dword [esi + 0x654], 1
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x4000000
xor ecx, ecx
or eax, ecx
je 0x15c8af
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4c8]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163c92
xor eax, eax
cmp word [ebp - 0x24], 0xb
je 0x16b844
inc eax
cmp word [ebp - 0x24], ax
jne 0x163c86
mov dword [esi + 0x698], eax
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x80000000
xor ecx, ecx
or eax, ecx
je 0x15c920
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4c0]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163cae
cmp word [ebp - 0x24], 0xb
je 0x16b859
cmp word [ebp - 0x24], 1
jne 0x163ca2
mov dword [esi + 0x670], edi
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x20000000
xor ecx, ecx
or eax, ecx
je 0x15c991
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4d4]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163cca
cmp word [ebp - 0x24], 0xb
je 0x16b876
cmp word [ebp - 0x24], 1
jne 0x163cbe
mov dword [esi + 0x668], edi
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x8000000
xor ecx, ecx
or eax, ecx
je 0x15ca0a
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4cc]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163ce6
cmp word [ebp - 0x24], 8
je 0x16b893
cmp word [ebp - 0x24], 1
jne 0x163cda
mov eax, dword [esi + 0x69c]
cmp eax, edi
jne 0x16b936
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x10000000
xor ecx, ecx
or eax, ecx
je 0x15ca83
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4d0]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163d02
cmp word [ebp - 0x24], 8
je 0x16b950
cmp word [ebp - 0x24], 1
jne 0x163cf6
mov eax, dword [esi + 0x688]
cmp eax, edi
jne 0x16b9f3
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x1000000
xor ecx, ecx
or eax, ecx
je 0x15caf4
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4bc]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163d1e
cmp word [ebp - 0x24], 0xb
je 0x16ba0d
cmp word [ebp - 0x24], 1
jne 0x163d12
mov dword [esi + 0x6a4], edi
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x2000000
xor ecx, ecx
or eax, ecx
je 0x15cb54
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4c4]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jge 0x16ba2a
cmp eax, 0x80041002
jne 0x16ba5d
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x80
xor ecx, ecx
or eax, ecx
je 0x15cbc5
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4a4]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163d2e
cmp word [ebp - 0x24], 3
jne 0x16ba89
mov eax, dword [ebp - 0x1c]
sub eax, edi
jne 0x16ba65
mov dword [esi + 0x658], edi
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x15cc36
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4a8]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163d4a
cmp word [ebp - 0x24], 0xb
je 0x16bab1
cmp word [ebp - 0x24], 1
jne 0x163d3e
mov dword [esi + 0x65c], edi
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x200
xor ecx, ecx
or eax, ecx
je 0x15cca6
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4ac]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163d5a
cmp word [ebp - 0x24], 0xb
jne 0x16bace
xor eax, eax
cmp word [ebp - 0x1c], 0xffff
sete al
mov dword [esi + 0x660], eax
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x400
xor ecx, ecx
or eax, ecx
je 0x15cd16
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4b0]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163d6a
cmp word [ebp - 0x24], 0xb
jne 0x16baf4
xor eax, eax
cmp word [ebp - 0x1c], 0xffff
sete al
mov dword [esi + 0x664], eax
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
mov ebx, 0x800
and eax, ebx
xor ecx, ecx
or eax, ecx
je 0x15cd88
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4b4]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163d8a
xor eax, eax
cmp word [ebp - 0x24], 0xb
jne 0x163d7a
cmp word [ebp - 0x1c], 0xffff
sete al
mov dword [esi + 0x674], eax
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [ebp + 8]
and eax, 0x1000
xor ecx, ecx
or eax, ecx
je 0x15ce13
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4b8]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x16bb41
cmp word [ebp - 0x24], 8
jne 0x16bb2e
push dword [ebp - 0x30]
lea eax, [esi + 0x684]
push eax
lea eax, [esi + 0x67c]
push eax
lea eax, [esi + 0x678]
push eax
push dword [ebp - 0x1c]
call fcn.0015d65d
cmp eax, edi
mov dword [ebp - 0x10], eax
jl 0x16bb35
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov eax, dword [esi + 0x678]
cmp eax, 4
je 0x15ce35
cmp eax, 0xa
je 0x15ce35
cmp dword [esi + 0x28], edi
je 0x16bb98
cmp dword [ebp - 0x10], edi
jl 0x15ce9f
mov ecx, dword [ebp + 0xc]
and ecx, ebx
xor eax, eax
or eax, ecx
je 0x15ce9f
lea eax, [ebp - 0x24]
push eax
call dword [fcn.00151290]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
lea edx, [ebp + 0xc]
push edx
lea edx, [ebp - 0x24]
push edx
push edi
push dword [0x18b4e0]
mov dword [ebp + 0xc], edi
push eax
mov dword [ebp + 0x14], edi
call dword [ecx + 0x10]
cmp eax, edi
jl 0x163da6
cmp word [ebp - 0x24], 8
je 0x16bba4
cmp word [ebp - 0x24], 1
jne 0x163d9a
mov dword [esi + 0x6e0], edi
lea eax, [ebp - 0x24]
push eax
call dword [fcn.0015128c]
cmp dword [ebp - 0x30], edi
je 0x15cead
push dword [ebp - 0x30]
call dword [fcn.00151284]
mov eax, dword [ebp - 0x10]
call fcn.00151e90
ret 0x10
lea eax, [esi + 0x6c0]
push eax
push dword [ebp - 0x1c]
call ebx
cmp eax, edi
mov dword [ebp - 0x10], eax
jge 0x15c6ba
jmp 0x163bfa
mov eax, dword [esi + 0x690]
cmp eax, edi
jne 0x16b801
push dword [ebp - 0x1c]
call dword [fcn.00151288]
mov dword [esi + 0x690], eax
cmp eax, edi
je 0x163c3e
lea ecx, [ebp - 0x70]
call fcn.0015de6b
mov dword [ebp - 4], edi
push dword [esi + 0x690]
lea ecx, [ebp - 0x70]
call fcn.0015d9e1
test eax, eax
jl 0x163c32
cmp word [ebp - 0x5c], 0xffff
mov dword [ebp - 0x10], edi
jne 0x163c32
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
imul ecx, ecx, 0x18
add ecx, dword [ebp - 0x4c]
cdq
mov ebx, 0x3e8
imul ecx, ecx, 0x3c
add ecx, dword [ebp - 0x48]
idiv ebx
imul ecx, ecx, 0x3c
add ecx, dword [ebp - 0x44]
imul ecx, ecx, 0x3e8
add ecx, eax
mov dword [esi + 0x694], ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0015d99f
jmp 0x15c7b5
mov dword [esi + 0x654], edi
jmp 0x15c832
mov dword [ebp - 0x10], 0x80041012
jmp 0x15c4a7
cmp eax, 0x80041002
jne 0x16b739
jmp 0x15c4a7
mov dword [ebp - 0x10], 0x80041012
jmp 0x15c52e
cmp eax, 0x80041002
jne 0x16b759
jmp 0x15c52e
mov dword [ebp - 0x10], 0x80041012
jmp 0x15c5a4
cmp eax, 0x80041002
jne 0x16b76e
jmp 0x15c5a4
mov dword [ebp - 0x10], 0x80041012
jmp 0x15c63a
mov esi, dword [ebp - 0x28]
jmp 0x15c644
mov dword [ebp - 0x10], 0x80041012
jmp 0x15c6ba
cmp eax, 0x80041002
jne 0x16b7ae
jmp 0x15c6ba
mov dword [ebp - 0x10], 0x80041012
jmp 0x15c736
cmp eax, 0x80041002
jne 0x16b7f9
jmp 0x15c736
mov dword [ebp - 0x10], 0x80041012
jmp 0x163b76
mov dword [ebp - 0x10], 0x80041006
jmp 0x15c7b5
mov dword [ebp - 0x10], 0x80041012
jmp 0x15c7b5
cmp eax, 0x80041002
jne 0x16b81b
jmp 0x15c7b5
cmp word [ebp - 0x24], 1
je 0x163b87
jmp 0x16b830
cmp eax, 0x80041002
jne 0x16b83c
jmp 0x15c832
mov dword [ebp - 0x10], 0x80041012
jmp 0x15c8a5
cmp eax, 0x80041002
jne 0x16b851
jmp 0x15c8a5
mov dword [ebp - 0x10], 0x80041012
jmp 0x15c916
cmp eax, 0x80041002
jne 0x16b86e
jmp 0x15c916
mov dword [ebp - 0x10], 0x80041012
jmp 0x15c987
cmp eax, 0x80041002
jne 0x16b88b
jmp 0x15c987
mov dword [ebp - 0x10], 0x80041012
jmp 0x15ca00
cmp eax, 0x80041002
jne 0x16b948
jmp 0x15ca00
mov dword [ebp - 0x10], 0x80041012
jmp 0x15ca79
cmp eax, 0x80041002
jne 0x16ba05
jmp 0x15ca79
mov dword [ebp - 0x10], 0x80041012
jmp 0x15caea
cmp eax, 0x80041002
jne 0x16ba22
jmp 0x15caea
cmp eax, 0x80041002
jne 0x16baa9
jmp 0x15cbbb
mov dword [ebp - 0x10], 0x80041012
jmp 0x15cc2c
cmp eax, 0x80041002
jne 0x16bac6
jmp 0x15cc2c
cmp eax, 0x80041002
jne 0x16baec
jmp 0x15cc9c
cmp eax, 0x80041002
jne 0x16bb12
jmp 0x15cd0c
inc eax
cmp word [ebp - 0x24], ax
je 0x15cd78
jmp 0x16bb1a
cmp eax, 0x80041002
jne 0x16bb26
jmp 0x15cd7e
mov dword [ebp - 0x10], 0x80041012
jmp 0x15ce95
cmp eax, 0x80041002
jne 0x16bbc3
jmp 0x15ce95