Function at 0x1003b7b1
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100681f6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4b4
push esi
push edi
and dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1c8], 0xfd814383
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0xa0], 0xfc0336ae
push 1
lea ecx, [ebp - 0x280]
call fcn.1000ecc1
and dword [ebp - 4], 0
mov dword [ebp - 0x22c], 0xfffffff9
mov dword [ebp - 0x6c], 0
jmp 0x1003b82b
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 4
jge 0x1003b841
mov eax, dword [ebp - 0x6c]
mov dword [ebp + eax*4 - 0x1f0], 0x8b10
jmp 0x1003b824
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.1003b457
pop ecx
pop ecx
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x1f0]
mov dword [ebp - 0x324], eax
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x1f0], 0
je 0x1003b8a2
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x1f0], 0
je 0x1003b8a2
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x1f0], 0
je 0x1003b8a2
mov dword [ebp - 0x148], 1
jmp 0x1003b8a9
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x1003b8d3
mov eax, 0x809b
test eax, eax
je 0x1003b8d3
mov dword [ebp - 0x1d0], 1
jmp 0x1003b8da
and dword [ebp - 0x1d0], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1f0]
cmp dword [ebp - 0x1d0], eax
jne 0x1003b8fb
mov dword [ebp - 0x18c], 1
jmp 0x1003b902
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x11c], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1f0]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x108]
cmp dword [ebp - 0x1c8], eax
jle 0x1003b93b
mov dword [ebp - 0x134], 1
jmp 0x1003b942
and dword [ebp - 0x134], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x134]
sub ecx, dword [ebp + eax - 0x1f0]
jne 0x1003b969
cmp dword [ebp - 0x11c], 0
jne 0x1003b969
and dword [ebp - 0x1bc], 0
jmp 0x1003b973
mov dword [ebp - 0x1bc], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1f0]
cmp dword [ebp - 0x1bc], eax
je 0x1003b994
mov dword [ebp - 0x13c], 1
jmp 0x1003b99b
and dword [ebp - 0x13c], 0
cmp dword [ebp - 0x13c], 0x5440
jg 0x1003b9b3
mov dword [ebp - 0x194], 1
jmp 0x1003b9ba
and dword [ebp - 0x194], 0
mov eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0x194]
imul esi, eax, 0x4752
push 0
lea ecx, [ebp - 0x280]
call fcn.1000ed9f
cmp esi, dword [eax]
jle 0x1003b9f2
mov eax, 0x4f16
test eax, eax
je 0x1003b9f2
mov dword [ebp - 0x264], 1
jmp 0x1003b9f9
and dword [ebp - 0x264], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1f0]
mov dword [ebp - 0x144], eax
push 0
lea ecx, [ebp - 0x280]
call fcn.1000ed9f
mov ecx, dword [ebp - 0x144]
mov dword [eax], ecx
cmp dword [ebp - 0x144], 0
je 0x1003ba3a
xor eax, eax
je 0x1003ba3a
mov dword [ebp - 0x1d4], 1
jmp 0x1003ba41
and dword [ebp - 0x1d4], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1f0]
cmp eax, dword [ebp - 0x1d4]
jge 0x1003ba68
cmp dword [ebp - 0xa0], 0
jne 0x1003ba68
and dword [ebp - 0x224], 0
jmp 0x1003ba72
mov dword [ebp - 0x224], 1
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x304], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1f0]
sub eax, dword [ebp - 0x11c]
imul eax, dword [ebp - 0xa0]
test eax, eax
je 0x1003baaf
mov byte [ebp - 0x3b], 0
movzx eax, byte [ebp - 0x3b]
test eax, eax
je 0x1003baad
call fcn.1003b49f
jmp 0x1003bace
mov dword [ebp - 0x234], 0x38140a97
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.1003b4ae
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.1000ed74
mov dword [ebp - 0x330], 0xfffffffe
mov byte [ebp - 0x3a], 0
movzx eax, byte [ebp - 0x3a]
test eax, eax
je 0x1003bafb
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x1003bb0c
call fcn.1003b616
mov dword [ebp - 0x18], 0
push 2
lea ecx, [ebp - 0x298]
call fcn.1000ecc1
mov dword [ebp - 4], 1
mov dword [ebp - 0x28], 0
jmp 0x1003bb37
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jge 0x1003bb4d
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x9c], 1
jmp 0x1003bb30
mov dword [ebp - 0x28], 0
jmp 0x1003bb5d
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x1003bb76
push dword [ebp - 0x28]
lea ecx, [ebp - 0x298]
call fcn.1000ed9f
or dword [eax], 0xffffffff
jmp 0x1003bb56
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x1003bbb2
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x248], 0
lea eax, [ebp - 0x260]
push eax
call fcn.1003b628
pop ecx
mov dword [ebp - 0x248], 0
jmp 0x1003beed
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x84], 0
jmp 0x1003bbd5
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 2
jge 0x1003bbf1
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*4 - 0x1dc], 0x11b55e97
jmp 0x1003bbc8
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x9c], 0
je 0x1003bdcd
mov dword [ebp - 0x21c], 0xa6e483bb
mov dword [ebp - 0x110], 0xfffffffa
mov dword [ebp - 0x218], 0xe630971c
mov dword [ebp - 0x18], 0
jmp 0x1003bc33
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x1d
jl 0x1003bdc8
mov dword [ebp - 0x124], 0x5c6f
mov dword [ebp - 0x258], 0xfffffff8
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x31c], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x9c], 0
jne 0x1003bc7f
mov eax, 0x88af
test eax, eax
jne 0x1003bc7f
and dword [ebp - 0x14c], 0
jmp 0x1003bc89
mov dword [ebp - 0x14c], 1
mov eax, dword [ebp - 0x14c]
sub eax, dword [ebp - 0x124]
je 0x1003bcb3
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x1dc], 0
je 0x1003bcb3
mov dword [ebp - 0x210], 1
jmp 0x1003bcba
and dword [ebp - 0x210], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1dc]
mov dword [ebp - 0x318], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x9c], 1
jb 0x1003bce9
mov dword [ebp - 0x19c], 1
jmp 0x1003bcf0
and dword [ebp - 0x19c], 0
cmp dword [ebp - 0x19c], 1
jb 0x1003bd05
mov dword [ebp - 0x154], 1
jmp 0x1003bd0c
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x124]
imul eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x154]
jge 0x1003bd2a
mov dword [ebp - 0x1c4], 1
jmp 0x1003bd31
and dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
push 4
pop ecx
imul ecx, ecx, 0
sub eax, dword [ebp + ecx - 0x1dc]
je 0x1003bd67
mov eax, 0xcf7a0211
test eax, eax
je 0x1003bd67
mov dword [ebp - 0x15c], 1
jmp 0x1003bd6e
and dword [ebp - 0x15c], 0
cmp dword [ebp - 0x15c], 2
jae 0x1003bd83
mov dword [ebp - 0x1a4], 1
jmp 0x1003bd8a
and dword [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x124]
cmp eax, dword [ebp - 0x1a4]
jge 0x1003bda4
mov dword [ebp - 0x164], 1
jmp 0x1003bdab
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x218], eax
jmp 0x1003bc2c
jmp 0x1003bedf
mov dword [ebp - 0xa4], 1
mov dword [ebp - 0x120], 0
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x1003bdf2
call fcn.1003b63f
mov dword [ebp - 0x1f4], 0xffff
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1dc]
neg eax
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x1f4]
cmp ecx, eax
jle 0x1003be70
mov eax, 0xf607
test eax, eax
je 0x1003be29
cmp dword [ebp - 0xa4], 0
mov esi, dword [ebp - 0xa4]
push 1
lea ecx, [ebp - 0x298]
call fcn.1000ed9f
cmp esi, dword [eax]
jle 0x1003be4c
mov dword [ebp - 0x16c], 1
jmp 0x1003be53
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x16c], eax
jg 0x1003be70
cmp dword [ebp - 0x18], 0
je 0x1003be70
mov dword [ebp - 0x204], 1
jmp 0x1003be77
and dword [ebp - 0x204], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1dc]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x2d0], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x9c]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x120], eax
jne 0x1003becf
mov dword [ebp - 0x1ac], 1
jmp 0x1003bed6
and dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x29], 0
lea eax, [ebp - 0x29]
push eax
call fcn.1000ac22
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x298]
call fcn.1000ed74
mov byte [ebp - 0x104], 0x12
mov byte [ebp - 0x103], 0xfd
mov byte [ebp - 0x102], 0x16
mov byte [ebp - 0x101], 4
mov byte [ebp - 0x100], 0xa
mov byte [ebp - 0xff], 0x1c
mov byte [ebp - 0xfe], 0x10
mov byte [ebp - 0xfd], 0x1a
mov byte [ebp - 0xfc], 8
mov byte [ebp - 0xfb], 0x18
mov byte [ebp - 0xfa], 0x14
mov byte [ebp - 0xf9], 0x1c
mov byte [ebp - 0xf8], 5
mov byte [ebp - 0xf7], 0x13
mov byte [ebp - 0xf6], 0x15
mov byte [ebp - 0xf5], 0x10
mov byte [ebp - 0xf4], 0xc
mov byte [ebp - 0xf3], 0x1b
mov byte [ebp - 0xf2], 0xd
mov byte [ebp - 0xf1], 3
mov byte [ebp - 0xf0], 0xf
mov byte [ebp - 0xef], 0x1e
mov byte [ebp - 0xee], 4
mov byte [ebp - 0xed], 0x15
mov byte [ebp - 0xec], 0x18
mov byte [ebp - 0xeb], 0x1c
mov byte [ebp - 0xea], 0xb
mov byte [ebp - 0xe9], 0x15
mov byte [ebp - 0xe8], 2
mov byte [ebp - 0xe7], 0xf
mov byte [ebp - 0xe6], 0x11
mov byte [ebp - 0xe5], 0x11
mov byte [ebp - 0xe4], 0x19
mov byte [ebp - 0xe3], 8
mov byte [ebp - 0xe2], 0xe
mov byte [ebp - 0xe1], 0x15
mov byte [ebp - 0xe0], 6
mov byte [ebp - 0xdf], 8
mov byte [ebp - 0xde], 0x2b
mov byte [ebp - 0xdd], 0x4b
mov byte [ebp - 0xdc], 0xcc
mov byte [ebp - 0xdb], 0xcf
mov byte [ebp - 0xda], 0x7d
mov byte [ebp - 0xd9], 0x39
mov byte [ebp - 0xd8], 0x30
mov byte [ebp - 0xd7], 0x19
mov byte [ebp - 0xd6], 0xd2
mov byte [ebp - 0xd5], 0x6a
mov byte [ebp - 0xd4], 0x99
mov byte [ebp - 0xd3], 0x8a
mov byte [ebp - 0xd2], 0xe4
mov byte [ebp - 0xd1], 0xa7
mov byte [ebp - 0xd0], 0xb6
mov byte [ebp - 0xcf], 0x62
mov byte [ebp - 0xce], 0xeb
mov byte [ebp - 0xcd], 0x94
mov byte [ebp - 0xcc], 0xc7
mov byte [ebp - 0xcb], 0x7e
mov byte [ebp - 0xca], 0xa6
mov byte [ebp - 0xc9], 0xbf
mov byte [ebp - 0xc8], 0x9a
mov byte [ebp - 0xc7], 0xcb
mov byte [ebp - 0xc6], 0xf
mov byte [ebp - 0xc5], 0xb2
mov byte [ebp - 0xc4], 0xe7
mov byte [ebp - 0xc3], 0xf5
mov byte [ebp - 0xc2], 0xde
mov byte [ebp - 0xc1], 0xc6
mov byte [ebp - 0xc0], 0xd0
mov byte [ebp - 0xbf], 0x41
mov byte [ebp - 0xbe], 0x97
mov byte [ebp - 0xbd], 0xd5
mov byte [ebp - 0xbc], 0xee
mov byte [ebp - 0xbb], 0xa7
mov byte [ebp - 0xba], 0x31
mov byte [ebp - 0xb9], 0x77
mov byte [ebp - 0xb8], 0xaa
mov byte [ebp - 0xb7], 0xa5
mov byte [ebp - 0xb6], 0x4b
mov byte [ebp - 0xb5], 0x54
mov byte [ebp - 0xb4], 0x4e
mov byte [ebp - 0xb3], 0xdb
mov byte [ebp - 0xb2], 9
mov byte [ebp - 0xb1], 0xd
mov byte [ebp - 0xb0], 1
mov byte [ebp - 0xaf], 8
mov byte [ebp - 0xae], 7
mov byte [ebp - 0xad], 0xa
mov byte [ebp - 0xac], 3
mov byte [ebp - 0xab], 0xc
mov byte [ebp - 0xaa], 0x13
mov byte [ebp - 0xa9], 0x10
mov byte [ebp - 0xa8], 0
mov byte [ebp - 0xa7], 0x15
mov byte [ebp - 0xa6], 0x17
mov byte [ebp - 0xa5], 0x19
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x104]
or eax, 0x8e
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x104]
and ecx, 0x8e
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x104]
mov byte [ebp + ecx - 0x2c4], al
mov dword [ebp - 0x10], 2
and dword [ebp - 0x68], 0
jmp 0x1003c1ef
mov eax, dword [ebp - 0x10]
inc eax
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x60
jae 0x1003c2be
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x104]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x10], eax
jne 0x1003c236
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x104]
inc eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x104]
mov ecx, dword [ebp - 0x10]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x10], eax
jmp 0x1003c1e7
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x103]
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x68]
movzx ecx, byte [ebp + ecx - 0x106]
movsx ecx, byte [ebp + ecx - 0x2c4]
add eax, ecx
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x103]
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x68]
movzx edx, byte [ebp + edx - 0x106]
movsx edx, byte [ebp + edx - 0x2c4]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x103]
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x68]
movzx edx, byte [ebp + edx - 0x106]
movsx edx, byte [ebp + edx - 0x2c4]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x104]
mov byte [ebp + ecx - 0x2c4], al
and dword [ebp - 0x68], 0
jmp 0x1003c1e7
mov dword [ebp - 0x30], 0x571177e8
mov dword [ebp - 0x1cc], 0x96c7979b
mov dword [ebp - 0x1b4], 0x8951bb35
mov dword [ebp - 0x30], 0
jmp 0x1003c2e9
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xfffffffb
je 0x1003c437
mov dword [ebp - 0x58], 0xfffffffb
mov dword [ebp - 0x24], 0
jmp 0x1003c30a
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jge 0x1003c320
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x37c], 6
jmp 0x1003c303
mov dword [ebp - 0x24], 0
jmp 0x1003c330
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x1003c346
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x310], 9
jmp 0x1003c329
cmp dword [ebp - 0x58], 0x4d63a88e
je 0x1003c35b
mov dword [ebp - 0x174], 1
jmp 0x1003c362
and dword [ebp - 0x174], 0
mov eax, 0x93c803fb
test eax, eax
je 0x1003c37d
cmp dword [ebp - 0x30], 0
je 0x1003c37d
mov dword [ebp - 0x220], 1
jmp 0x1003c384
and dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x1b4]
cmp dword [ebp - 0x58], eax
jne 0x1003c3b6
mov dword [ebp - 0x17c], 1
jmp 0x1003c3bd
and dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1cc]
cmp eax, dword [ebp - 0x17c]
je 0x1003c3e3
mov dword [ebp - 0x254], 1
jmp 0x1003c3ea
and dword [ebp - 0x254], 0
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x338], eax
imul eax, dword [ebp - 0x58], 0
test eax, eax
je 0x1003c40e
push 6
pop eax
test eax, eax
je 0x1003c40e
and dword [ebp - 0x228], 0
jmp 0x1003c418
mov dword [ebp - 0x228], 1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x320], eax
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x310], 0xfffffffe
jmp 0x1003c2e2
xor eax, eax
inc eax
imul eax, eax, 0x1a
mov byte [ebp + eax - 0x2c4], 0
lea eax, [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x36c]
call fcn.1000ec2e
mov dword [ebp - 4], 2
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x2a8], 0xffffffff
mov dword [ebp - 0x2a4], 0xffffffff
mov dword [ebp - 0x2a0], 0xffffffff
mov dword [ebp - 0x29c], 0xffffffff
mov dword [ebp - 0x25c], 0x2155
cmp dword [ebp - 0x25c], 0xc98
jge 0x1003c744
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x1065aaa0
call fcn.1000e663
mov ecx, eax
call fcn.1000e663
push dword [ebp - 0x90]
lea ecx, [ebp - 0x28c]
call fcn.100423ed
mov byte [ebp - 4], 3
and dword [ebp - 0x88], 0
jmp 0x1003c4f1
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
cmp eax, dword [ebp - 0x90]
jge 0x1003c51d
push dword [ebp - 0x88]
lea ecx, [ebp - 0x28c]
call fcn.10016901
push eax
mov ecx, 0x1065aaa0
call fcn.100167ec
jmp 0x1003c4e4
push dword [ebp - 0x118]
lea ecx, [ebp - 0x244]
call fcn.100423ed
mov byte [ebp - 4], 4
and dword [ebp - 0x98], 0
jmp 0x1003c548
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x118]
jge 0x1003c574
push dword [ebp - 0x98]
lea ecx, [ebp - 0x244]
call fcn.10016901
push eax
mov ecx, 0x1065aaa0
call fcn.100167ec
jmp 0x1003c53b
push dword [ebp - 0x90]
lea ecx, [ebp - 0x200]
call fcn.100423ed
mov byte [ebp - 4], 5
push 0
lea ecx, [ebp - 0x28c]
call fcn.10016901
mov esi, eax
push 0
lea ecx, [ebp - 0x200]
call fcn.10016901
mov ecx, dword [esi]
mov dword [eax], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov dword [ebp - 0x44], 1
jmp 0x1003c5bf
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x90]
jge 0x1003c609
mov eax, dword [ebp - 0x44]
dec eax
push eax
lea ecx, [ebp - 0x200]
call fcn.10016901
mov esi, eax
push dword [ebp - 0x44]
lea ecx, [ebp - 0x28c]
call fcn.10016901
mov edi, dword [esi]
add edi, dword [eax]
mov esi, dword [esi + 4]
adc esi, dword [eax + 4]
push dword [ebp - 0x44]
lea ecx, [ebp - 0x200]
call fcn.10016901
mov dword [eax], edi
mov dword [eax + 4], esi
jmp 0x1003c5b8
and dword [ebp - 0x48], 0
and dword [ebp - 0x50], 0
jmp 0x1003c61a
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x118]
jge 0x1003c717
push dword [ebp - 0x50]
lea ecx, [ebp - 0x244]
call fcn.10016901
mov esi, eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x200]
call fcn.10016901
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 4]
jl 0x1003c684
jg 0x1003c67b
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [eax]
cmp eax, dword [ecx]
jbe 0x1003c684
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
jmp 0x1003c629
mov eax, dword [ebp - 0x48]
inc eax
push eax
mov ecx, 0x1065a9f8
call fcn.1000e973
mov edx, 0x10007cb4
mov ecx, eax
call fcn.10013431
cmp dword [ebp - 0x48], 0
jne 0x1003c6d0
push fcn.10013226
push dword [ebp - 0x50]
lea ecx, [ebp - 0x244]
call fcn.10016901
push dword [eax + 4]
push dword [eax]
mov ecx, 0x1065a9f8
call fcn.1000ea85
mov ecx, eax
call fcn.1000e967
jmp 0x1003c712
push fcn.10013226
push dword [ebp - 0x50]
lea ecx, [ebp - 0x244]
call fcn.10016901
mov esi, eax
mov eax, dword [ebp - 0x48]
dec eax
push eax
lea ecx, [ebp - 0x200]
call fcn.10016901
mov ecx, dword [esi]
sub ecx, dword [eax]
mov edx, dword [esi + 4]
sbb edx, dword [eax + 4]
push edx
push ecx
mov ecx, 0x1065a9f8
call fcn.1000ea85
mov ecx, eax
call fcn.1000e967
jmp 0x1003c613
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x200]
call fcn.1000f797
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x244]
call fcn.1000f797
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28c]
call fcn.1000f797
mov dword [ebp - 0x80], 0
jmp 0x1003c754
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 4
jge 0x1003c76a
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x274], 0xfffffff9
jmp 0x1003c74d
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x274], 0
je 0x1003c78d
push 0xfffffffffffffff7
pop eax
test eax, eax
je 0x1003c78d
mov dword [ebp - 0x12c], 1
jmp 0x1003c794
and dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 0
jmp 0x1003c7ad
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jg 0x1003c9fa
mov dword [ebp - 0x78], 0x90412894
mov dword [ebp - 0x138], 0x3813bf58
mov eax, dword [ebp - 0x14]
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x274]
cmp dword [ebp + eax*4 - 0x274], ecx
jne 0x1003c7ed
mov dword [ebp - 0x128], 1
jmp 0x1003c7f4
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x274], 0
je 0x1003c848
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x274]
cmp dword [ebp - 0x78], eax
jg 0x1003c81e
mov dword [ebp - 0x130], 1
jmp 0x1003c825
and dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
sub eax, dword [ebp - 0x14]
je 0x1003c848
mov dword [ebp - 0x140], 1
jmp 0x1003c84f
and dword [ebp - 0x140], 0
cmp dword [ebp - 0x140], 0xa4c5706b
jbe 0x1003c870
mov eax, 0x9904
test eax, eax
je 0x1003c870
mov dword [ebp - 0x150], 1
jmp 0x1003c877
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebp - 0x150]
jl 0x1003c891
mov dword [ebp - 0x10c], 1
jmp 0x1003c898
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp + eax*4 - 0x274], ecx
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x10c], eax
jg 0x1003c8bf
mov dword [ebp - 0x158], 1
jmp 0x1003c8c6
and dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x158]
neg eax
cmp eax, dword [ebp - 0x14]
jg 0x1003c8df
mov dword [ebp - 0x160], 1
jmp 0x1003c8e6
and dword [ebp - 0x160], 0
cmp dword [ebp - 0x160], 1
jb 0x1003c8fb
mov dword [ebp - 0x168], 1
jmp 0x1003c902
and dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x168], eax
jg 0x1003c919
mov dword [ebp - 0x170], 1
jmp 0x1003c920
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x170], eax
jge 0x1003c937
mov dword [ebp - 0x178], 1
jmp 0x1003c93e
and dword [ebp - 0x178], 0
cmp dword [ebp - 0x178], 1
jb 0x1003c953
mov dword [ebp - 0x180], 1
jmp 0x1003c95a
and dword [ebp - 0x180], 0
cmp dword [ebp - 0x180], 0
ja 0x1003c96f
mov dword [ebp - 0x188], 1
jmp 0x1003c976
and dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x188], eax
jle 0x1003c98d
mov dword [ebp - 0x190], 1
jmp 0x1003c994
and dword [ebp - 0x190], 0
cmp dword [ebp - 0x190], 1
jne 0x1003c9a9
mov dword [ebp - 0x198], 1
jmp 0x1003c9b0
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x198]
sub eax, 4
cmp eax, dword [ebp - 0x14]
jg 0x1003c9ca
mov dword [ebp - 0x1a0], 1
jmp 0x1003c9d1
and dword [ebp - 0x1a0], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x1a0]
mov dword [ebp + eax - 0x2a8], ecx
mov byte [ebp - 0x3d], 0
movzx eax, byte [ebp - 0x3d]
test eax, eax
je 0x1003c9f5
call fcn.1003b65b
jmp 0x1003c7a6
mov dword [ebp - 0x230], 0x23a5
cmp dword [ebp - 0x230], 0x116e
jge 0x1003cc6c
lea eax, [ebp - 0x114]
push eax
push 0x10007848
call fcn.1004f8bb
pop ecx
pop ecx
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x114]
dec eax
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x24c], 0
je 0x1003cc6c
lea eax, [ebp - 0x38]
push eax
push 0x10007848
call fcn.1004f8bb
pop ecx
pop ecx
and dword [ebp - 0x8c], 0
jmp 0x1003ca73
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x38]
jge 0x1003ca92
imul ecx, dword [ebp - 0x8c], 0xc
add ecx, 0x1096ac88
call fcn.10032cd1
jmp 0x1003ca66
and dword [ebp - 0x20], 0
jmp 0x1003ca9f
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, dword [ebp - 0x38]
jge 0x1003cb1d
mov eax, dword [ebp - 0x20]
lea eax, [ebp + eax*4 - 0x4c0]
push eax
mov eax, dword [ebp - 0x20]
lea eax, [ebp + eax*4 - 0x3e8]
push eax
mov eax, dword [ebp - 0x20]
lea eax, [ebp + eax*4 - 0x454]
push eax
push 0x10007ee0
call fcn.1004f8bb
add esp, 0x10
mov eax, dword [ebp - 0x20]
lea eax, [ebp + eax*4 - 0x3e8]
push eax
mov eax, dword [ebp - 0x20]
imul ecx, dword [ebp + eax*4 - 0x454], 0xc
add ecx, 0x1096ac88
call fcn.1000ed1f
mov eax, dword [ebp - 0x20]
lea eax, [ebp + eax*4 - 0x454]
push eax
mov eax, dword [ebp - 0x20]
imul ecx, dword [ebp + eax*4 - 0x3e8], 0xc
add ecx, 0x1096ac88
call fcn.1000ed1f
jmp 0x1003ca98
push 4
pop eax
imul eax, eax, 0
mov dword [eax + 0x108a75a8], 0xfffffffe
push 0xffffffffffffffff
push 0
call fcn.1003b71f
pop ecx
pop ecx
xorpd xmm0, xmm0
movlpd qword [ebp - 0x74], xmm0
and dword [ebp - 0x1c], 0
jmp 0x1003cb4e
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
inc eax
cmp eax, dword [ebp - 0x38]
jge 0x1003cc33
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x454]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x108a75a8]
cmp eax, dword [ebp + ecx*4 - 0x3e8]
jne 0x1003cbd4
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x4c0]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x454]
mov eax, dword [eax*4 + 0x108a6a58]
cdq
push edx
push eax
push esi
push ecx
call fcn.10053b90
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x454]
mov edx, dword [ebp - 0x38]
sub edx, dword [eax*4 + 0x108a6a58]
mov eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.10053b90
add eax, dword [ebp - 0x74]
adc edx, dword [ebp - 0x70]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
jmp 0x1003cc2e
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x4c0]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x3e8]
mov eax, dword [eax*4 + 0x108a6a58]
cdq
push edx
push eax
push esi
push ecx
call fcn.10053b90
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x3e8]
mov edx, dword [ebp - 0x38]
sub edx, dword [eax*4 + 0x108a6a58]
mov eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.10053b90
add eax, dword [ebp - 0x74]
adc edx, dword [ebp - 0x70]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
jmp 0x1003cb47
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x74]
call fcn.100673ef
mov eax, dword [ebp - 0x38]
dec eax
imul eax, dword [ebp - 0x38]
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm1, eax
divsd xmm0, xmm1
push ecx
push ecx
movsd qword [esp], xmm0
push 0x10007eec
call fcn.1004faef
add esp, 0xc
jmp 0x1003ca27
and dword [ebp - 0x94], 0
jmp 0x1003cc82
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0x1b
jae 0x1003cc9b
mov eax, dword [ebp - 0x94]
mov byte [ebp + eax - 0x2c4], 0
jmp 0x1003cc75
mov dword [ebp - 0x64], 0xfffffff7
mov dword [ebp - 0x4c], 5
mov dword [ebp - 0x54], 0x7b568be1
mov dword [ebp - 0x64], 0
jmp 0x1003ccc0
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x12
jle 0x1003cde6
mov dword [ebp - 0x5c], 0xd020bd2a
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x5c], 0xe70
cmp dword [ebp - 0x4c], eax
jge 0x1003ccef
mov dword [ebp - 0x1a8], 1
jmp 0x1003ccf6
and dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x5c], 0
jmp 0x1003cd0f
mov eax, dword [ebp - 0x5c]
dec eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0xffffffe3
je 0x1003cde1
mov dword [ebp - 0x7c], 0
jmp 0x1003cd29
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 3
jge 0x1003cd3f
mov eax, dword [ebp - 0x7c]
mov dword [ebp + eax*4 - 0x2e8], 0x2456
jmp 0x1003cd22
mov dword [ebp - 0x4c], 0
jmp 0x1003cd4f
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 2
jg 0x1003cddc
mov dword [ebp - 0x54], 0
jmp 0x1003cd69
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 2
jg 0x1003cdd7
mov dword [ebp - 0x60], 0x244c3f4
mov dword [ebp - 0x60], 2
jmp 0x1003cd86
mov eax, dword [ebp - 0x60]
dec eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
jl 0x1003cdd5
mov dword [ebp - 0x238], 0xfffffff7
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp + eax*4 - 0x2e8]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp + eax*4 - 0x2e8], ecx
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x238], eax
mov byte [ebp - 0x3c], 0
movzx eax, byte [ebp - 0x3c]
test eax, eax
je 0x1003cdd3
call fcn.1000ab69
jmp 0x1003cd7f
jmp 0x1003cd62
jmp 0x1003cd48
jmp 0x1003cd08
jmp 0x1003ccb9
push 0x100077b5
lea ecx, [ebp - 0x354]
call fcn.1000ec2e
mov byte [ebp - 4], 6
mov dword [ebp - 0x2c8], 0xfffffff8
mov byte [ebp - 0x2a], 0
lea eax, [ebp - 0x2a]
push eax
call fcn.1003b685
pop ecx
mov byte [ebp - 0x2b], 0
lea eax, [ebp - 0x2b]
push eax
call fcn.1000ab85
pop ecx
lea ecx, [ebp - 0x354]
call fcn.1000e64a
cmp eax, dword [ebp + 0xc]
je 0x1003ce70
lea eax, [ebp - 0x36c]
push eax
lea eax, [ebp - 0x250]
push eax
call fcn.1003b6a7
pop ecx
pop ecx
push 0
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x36c]
push eax
lea eax, [ebp - 0x354]
push eax
push 0x7045
push 0x2df
call fcn.1003d823
add esp, 0x18
jmp 0x1003ce20
mov dword [ebp - 0x208], 1
mov dword [ebp - 0x20c], 1
mov dword [ebp - 0x2d4], 0xbf390197
mov dword [ebp - 0x32c], 0xe4438bea
mov dword [ebp - 0x2dc], 1
mov dword [ebp - 0x334], 0
mov dword [ebp - 0x2ec], 0xbafcb143
push 2
lea ecx, [ebp - 0x2f8]
call fcn.1000ecc1
mov byte [ebp - 4], 7
mov dword [ebp - 0x328], 0x61a6
mov dword [ebp - 0x2fc], 0x3b0a6d08
mov dword [ebp - 0x214], 0xc51ac06e
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x33c]
push eax
call fcn.1003b6da
pop ecx
pop ecx
cmp dword [ebp - 0x208], 0
jne 0x1003cf0f
mov dword [ebp - 0x1b8], 1
jmp 0x1003cf16
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x20c], eax
lea eax, [ebp - 0x214]
push eax
call fcn.10014f00
pop ecx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2f8]
call fcn.1000ed74
lea eax, [ebp - 0x354]
push eax
mov ecx, dword [ebp + 8]
call fcn.1004231f
mov eax, dword [ebp - 0x1c0]
or eax, 1
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x354]
call fcn.1000ec5d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x36c]
call fcn.1000ec5d
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret