Function at 0x100c9f89
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x101494c4
call fcn.1013e250
sub esp, 0x76c
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x14], ecx
mov esi, ebx
mov ecx, ebx
push edi
mov edi, edx
mov dword [ebp - 0x190], edi
cmp byte [ebp + 8], bl
je 0x100cb555
mov dword [ebp - 0x1f4], 0x75102108
mov dword [ebp - 0x1f0], 0x76057904
mov dword [ebp - 0x1ec], 0x73156c14
mov dword [ebp - 0x1e8], 0x88075d09
mov dword [ebp - 0x1e4], 0xae025901
mov dword [ebp - 0x1e0], 0x870a770e
mov dword [ebp - 0x1dc], 0x8b063711
mov dword [ebp - 0x1d8], 0x930c840d
mov dword [ebp - 0x1d4], 0x900b6212
mov dword [ebp - 0x1d0], 0x8a168c02
mov dword [ebp - 0x1cc], 0x8a138300
mov dword [ebp - 0x1c8], 0x920f9e03
cmp ecx, 0x12
jne 0x100ca038
push 2
pop esi
jmp 0x100ca06b
movzx eax, byte [ebp + ecx - 0x1f3]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ca05b
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1f4]
mov word [ebp + eax*2 - 0x358], dx
add ecx, 2
cmp ecx, 0x30
jb 0x100ca02e
xor eax, eax
lea ecx, [ebp - 0x29c]
mov word [ebp - 0x32a], ax
lea eax, [ebp - 0x358]
push eax
call fcn.10013e17
push eax
mov edx, edi
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x324]
call fcn.1002a022
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 2
call fcn.10014448
push 0xc
pop ecx
xor eax, eax
lea edi, [ebp - 0x358]
rep stosd dword es:[edi], eax
push ebx
xor dl, dl
lea ecx, [ebp - 0x324]
call fcn.1003abed
pop ecx
mov dword [ebp - 0x1b0], 0x77047a07
mov ecx, ebx
mov dword [ebp - 0x1ac], 0x79067405
mov esi, ebx
mov dword [ebp - 0x1a8], 0x7e035101
mov dword [ebp - 0x1a4], 0x78026900
mov dword [ebp - 0x1a0], 0x2d48140a
mov dword [ebp - 0x19c], 0xd788eee
mov word [ebp - 0x198], 0xea44
cmp ecx, 0x10
jne 0x100ca124
push 0xa
pop esi
push 0x18
pop ecx
jmp 0x100ca157
movzx eax, byte [ebp + ecx - 0x1af]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ca147
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1b0]
mov word [ebp + eax*2 - 0x2f4], dx
add ecx, 2
cmp ecx, 0x1a
jb 0x100ca117
xor eax, eax
lea ecx, [ebp - 0x1ac]
mov word [ebp - 0x2e4], ax
lea eax, [ebp - 0x2f4]
push eax
call fcn.10013e17
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x26c]
mov edx, dword [ebp - 0x190]
push eax
call fcn.1002a022
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 5
call fcn.10014448
xor eax, eax
lea edi, [ebp - 0x2f4]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x26c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.1003a0a4
test al, al
jne 0x100ca1d9
push ebx
push 1
lea ecx, [ebp - 0x26c]
call fcn.10014448
lea ecx, [ebp - 0x324]
jmp 0x100cc601
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x10]
call fcn.10074140
push ebx
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 6
push eax
push 1
lea eax, [ebp + 8]
mov dword [ebp - 0x24], ebx
push eax
push ebx
mov dword [ebp + 8], 4
call fcn.100d5716
mov ecx, dword [ebp - 0x190]
add esp, 0x14
test ecx, ecx
je 0x100cb533
cmp dword [ebp - 0x258], 8
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x26c]
cmovae eax, dword [ebp - 0x26c]
push edx
push eax
call ecx
pop ecx
pop ecx
test eax, eax
jne 0x100cb533
mov dword [ebp - 0x158], 0x48017310
mov ecx, ebx
mov dword [ebp - 0x154], 0x731c271e
mov esi, ebx
mov dword [ebp - 0x150], 0x2b13461d
mov dword [ebp - 0x14c], 0x750a8414
mov dword [ebp - 0x148], 0x85176400
mov dword [ebp - 0x144], 0x8a12871b
mov dword [ebp - 0x140], 0x8d0b5e03
mov dword [ebp - 0x13c], 0x83088c0c
mov dword [ebp - 0x138], 0xaf0f4109
mov dword [ebp - 0x134], 0x67a60c66
mov dword [ebp - 0x130], 0x800c5e8
mov dword [ebp - 0x12c], 0x4953713a
mov dword [ebp - 0x128], 0x188f1104
mov dword [ebp - 0x124], 0x47b058a
mov dword [ebp - 0x120], 0x194b0e6c
mov dword [ebp - 0x11c], 0x2a40f4d
mov dword [ebp - 0x118], 0x1aa00d7d
mov dword [ebp - 0x114], 0x75706aa
mov dword [ebp - 0x110], 0x16a315a2
mov byte [ebp - 0x10c], 0xa2
cmp ecx, 0x22
jne 0x100ca316
push 0xf
pop esi
push 0x2f
pop ecx
jmp 0x100ca348
movzx eax, byte [ebp + ecx - 0x157]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ca339
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x158]
mov byte [ebp + eax - 0x1e4], dl
add ecx, 2
cmp ecx, 0x4d
jb 0x100ca309
lea eax, [ebp - 0x1e4]
mov byte [ebp - 0x1c5], bl
push eax
lea ecx, [ebp - 0x29c]
call fcn.1001c44c
push 8
pop ecx
xor eax, eax
mov byte [ebp - 4], 7
lea edi, [ebp - 0x1e4]
rep stosd dword es:[edi], eax
push 0x865f
call fcn.1001965b
mov byte [ebp - 0x20], al
mov dword [esp], 0x6bcd
call fcn.1001965b
mov byte [ebp - 0x188], al
mov dword [esp], 0x122ff
call fcn.1001965b
mov byte [ebp - 0x190], al
mov dword [esp], 0x5f37
call fcn.1001965b
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x210], al
pop ecx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x100ca698
mov dword [ebp - 0xb0], 0x78282135
mov ecx, ebx
mov dword [ebp - 0xac], 0x362e4719
mov esi, ebx
mov dword [ebp - 0xa8], 0x5005560a
mov dword [ebp - 0xa4], 0x36307239
mov dword [ebp - 0xa0], 0x7f0e6504
mov dword [ebp - 0x9c], 0x37065a03
mov dword [ebp - 0x98], 0x87206b08
mov dword [ebp - 0x94], 0x8a38701a
mov dword [ebp - 0x90], 0x4f216d02
mov dword [ebp - 0x8c], 0x7a174c2c
mov dword [ebp - 0x88], 0x94376e15
mov dword [ebp - 0x84], 0xa10d7213
mov dword [ebp - 0x80], 0x85265110
mov dword [ebp - 0x7c], 0x5f278323
mov dword [ebp - 0x78], 0xad1f8e18
mov dword [ebp - 0x74], 0x92249125
mov dword [ebp - 0x70], 0x6e32b60c
mov dword [ebp - 0x6c], 0xb3368a01
mov dword [ebp - 0x68], 0x852d9b14
mov dword [ebp - 0x64], 0xa6118033
mov dword [ebp - 0x60], 0x7316a51b
mov dword [ebp - 0x5c], 0x773ac729
mov dword [ebp - 0x58], 0x8431790b
mov dword [ebp - 0x54], 0x871dc92a
mov dword [ebp - 0x50], 0xab12d40f
mov dword [ebp - 0x4c], 0x962f912b
mov dword [ebp - 0x48], 0xaf00bb1c
mov dword [ebp - 0x44], 0xe372e80c
mov dword [ebp - 0x40], 0x63aaf5d2
mov dword [ebp - 0x3c], 0x7b5ef31c
mov dword [ebp - 0x38], 0xe41e8f3b
mov dword [ebp - 0x34], 0xc209ba22
mov dword [ebp - 0x30], 0xbd079e34
cmp ecx, 0x6c
jne 0x100ca4e8
push 0xc
pop esi
push 0x76
pop ecx
jmp 0x100ca51a
movzx eax, byte [ebp + ecx - 0xaf]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ca50b
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xb0]
mov byte [ebp + eax - 0x148], dl
add ecx, 2
cmp ecx, 0x84
jb 0x100ca4db
lea eax, [ebp - 0x148]
mov byte [ebp - 0x10c], bl
push eax
lea ecx, [ebp - 0x228]
call fcn.1001c44c
push 0x3d
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 8
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov dword [ebp - 0x1c4], 0xfb0c3000
mov dword [ebp - 0x1c0], 0x3470607b
mov ecx, ebx
mov dword [ebp - 0x1bc], 0x847e8e7f
mov esi, ebx
mov dword [ebp - 0x1b8], 0x28019c64
mov word [ebp - 0x1b4], 0x2702
cmp ecx, 2
jne 0x100ca594
push 0xc
pop esi
push esi
pop ecx
jmp 0x100ca5c3
movzx eax, byte [ebp + ecx - 0x1c3]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ca5b7
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1c4]
mov byte [ebp + eax + 8], dl
add ecx, 2
cmp ecx, 0x12
jb 0x100ca588
lea eax, [ebp + 8]
mov byte [ebp + 0xb], bl
push eax
lea ecx, [ebp - 0x240]
call fcn.1001c44c
mov byte [ebp - 4], 9
mov esi, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov dword [ebp + 8], ebx
jmp 0x100ca671
push ecx
mov edx, esi
lea ecx, [ebp - 0x2b4]
call fcn.10072f29
pop ecx
push eax
lea edx, [ebp - 0x228]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x284]
call fcn.10047271
pop ecx
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0xb
push ecx
mov edx, eax
lea ecx, [ebp - 0x20c]
call fcn.10047686
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x284]
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0xe
call fcn.100170c9
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x20c]
call fcn.100c9ee5
push ebx
push 1
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 9
call fcn.100170c9
add esi, 0x18
cmp esi, edi
jne 0x100ca5ef
push ebx
push 1
lea ecx, [ebp - 0x240]
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x228]
call fcn.100170c9
mov edi, dword [ebp - 0x14]
mov ecx, ebx
mov dword [ebp - 0x1c0], ebx
mov edx, ebx
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], edx
mov byte [ebp - 4], 0xf
mov esi, dword [ebp - 0x14]
mov edi, dword [edi + 4]
mov esi, dword [esi]
cmp esi, edi
je 0x100ca74f
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x24c], esi
cmp eax, ecx
jae 0x100ca70e
cmp ebx, eax
ja 0x100ca70e
sub eax, ebx
sar eax, 2
mov dword [ebp + 8], eax
cmp ecx, edx
jne 0x100ca703
push ecx
lea ecx, [ebp - 0x1c0]
call fcn.100b7038
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 0x1c0]
test ecx, ecx
je 0x100ca736
mov eax, dword [ebx + eax*4]
mov dword [ecx], eax
jmp 0x100ca736
cmp ecx, edx
jne 0x100ca730
push ecx
lea ecx, [ebp - 0x1c0]
call fcn.100b7038
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1bc]
mov ebx, dword [ebp - 0x1c0]
test ecx, ecx
je 0x100ca736
mov dword [ecx], esi
add ecx, 4
add esi, 0xcc
mov dword [ebp - 0x1bc], ecx
cmp esi, edi
jne 0x100ca6c2
xor ebx, ebx
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x230], ebx
mov dword [ebp - 0x22c], ebx
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x180], ebx
mov dword [ebp - 0x17c], ebx
call fcn.1003837b
mov dword [ebp - 0x180], eax
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x11
call fcn.10034363
mov byte [ebp - 4], 0x12
mov eax, ebx
mov dword [ebp - 0x14], ebx
test eax, eax
lea edi, [ebp - 0x1c0]
lea ecx, [ebp - 0x234]
cmovne edi, ecx
mov esi, dword [edi]
mov edi, dword [edi + 4]
cmp esi, edi
je 0x100ca9c8
mov eax, dword [esi]
lea edx, [ebp - 0x29c]
add eax, 0x30
lea ecx, [ebp - 0x284]
push eax
call fcn.10038746
pop ecx
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x20c]
push dword [ebp - 0x188]
mov edx, eax
call fcn.100bfbf2
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x15
call fcn.100170c9
push ebx
lea eax, [ebp - 0x244]
mov dword [ebp - 0x18], ebx
push eax
push 2
lea eax, [ebp + 8]
mov dword [ebp + 8], 4
push eax
push ebx
call fcn.100d5716
mov ecx, dword [ebp - 0x244]
add esp, 0x14
test ecx, ecx
je 0x100ca9a8
cmp dword [ebp - 0x1f8], 0x10
lea edx, [ebp - 0x18]
push ebx
push edx
lea eax, [ebp - 0x20c]
cmovae eax, dword [ebp - 0x20c]
push 0xffffffffffffffff
push eax
push dword [ebp - 0x24]
call ecx
add esp, 0x14
test eax, eax
jne 0x100ca9a8
cmp dword [ebp - 0x18], eax
je 0x100ca9a8
or dword [ebp + 8], 0xffffffff
lea ecx, [ebp - 0x250]
push 4
pop eax
push ebx
push ecx
push eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x250]
add esp, 0x14
test eax, eax
je 0x100ca8c2
push dword [ebp - 0x18]
call eax
pop ecx
cmp eax, 0x64
jne 0x100ca8c2
push ebx
lea eax, [ebp - 0x254]
mov dword [ebp - 0x1c], 4
push eax
push 8
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x254]
add esp, 0x14
test eax, eax
je 0x100ca8c2
push ebx
push dword [ebp - 0x18]
call eax
pop ecx
pop ecx
mov dword [ebp + 8], eax
jmp 0x100ca8c5
mov eax, dword [ebp + 8]
test eax, eax
js 0x100ca905
mov edx, eax
lea ecx, [ebp - 0x2b4]
call fcn.1002a287
push eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x180]
call fcn.100cc6bf
mov ecx, eax
call fcn.100360e4
push ebx
push 1
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0x15
call fcn.100170c9
jmp 0x100ca97a
mov ecx, dword [ebp - 0x230]
cmp esi, ecx
jae 0x100ca94f
mov edx, dword [ebp - 0x234]
cmp edx, esi
ja 0x100ca94f
mov eax, esi
sub eax, edx
sar eax, 2
mov dword [ebp - 0x1c], eax
cmp ecx, dword [ebp - 0x22c]
jne 0x100ca946
push ecx
lea ecx, [ebp - 0x234]
call fcn.100b7038
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebp - 0x234]
test ecx, ecx
je 0x100ca971
mov eax, dword [edx + eax*4]
jmp 0x100ca96f
cmp ecx, dword [ebp - 0x22c]
jne 0x100ca969
push ecx
lea ecx, [ebp - 0x234]
call fcn.100b7038
mov ecx, dword [ebp - 0x230]
test ecx, ecx
je 0x100ca971
mov eax, dword [esi]
mov dword [ecx], eax
add ecx, 4
mov dword [ebp - 0x230], ecx
push ebx
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x1c], 4
push eax
push 5
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x18c]
add esp, 0x14
test eax, eax
je 0x100ca9a8
push dword [ebp - 0x18]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x12
call fcn.100170c9
add esi, 4
cmp esi, edi
jne 0x100ca7b2
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x100cafd4
mov edi, dword [ebp - 0x234]
cmp edi, dword [ebp - 0x230]
je 0x100cad84
mov dword [ebp - 0x20c], 0x25002d01
mov ecx, ebx
mov dword [ebp - 0x208], 0xe4ac3910
mov esi, ebx
mov dword [ebp - 0x204], 0x138e3239
mov dword [ebp - 0x200], 0xaf1bf65
mov dword [ebp - 0x1fc], 0x86317260
mov dword [ebp - 0x1f8], 0x3a023103
cmp ecx, 4
jne 0x100caa2f
push 0x10
pop esi
add ecx, 0xe
jmp 0x100caa61
movzx eax, byte [ebp + ecx - 0x20b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100caa52
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x20c]
mov byte [ebp + eax - 0x218], dl
add ecx, 2
cmp ecx, 0x18
jb 0x100caa22
lea eax, [ebp - 0x218]
mov byte [ebp - 0x214], bl
push eax
lea ecx, [ebp - 0x284]
call fcn.1001c44c
push ecx
mov byte [ebp - 4], 0x17
push ecx
lea ecx, [ebp - 0x4b8]
mov dword [ebp - 0x218], ebx
mov byte [ebp - 0x214], bl
call fcn.100cc726
mov byte [ebp - 4], 0x18
mov ecx, ebx
mov dword [ebp - 0xc0], 0x51086229
mov esi, ebx
mov dword [ebp - 0xbc], 0x75257119
mov dword [ebp - 0xb8], 0x2b0b7c2a
mov dword [ebp - 0xb4], 0x83202d10
mov dword [ebp - 0xb0], 0x7f287d14
mov dword [ebp - 0xac], 0x76327822
mov dword [ebp - 0xa8], 0x8e2f821d
mov dword [ebp - 0xa4], 0x6403890e
mov dword [ebp - 0xa0], 0x6f3b8021
mov dword [ebp - 0x9c], 0x683a740a
mov dword [ebp - 0x98], 0xa12d6e3d
mov dword [ebp - 0x94], 0xa32b5637
mov dword [ebp - 0x90], 0xa731902c
mov dword [ebp - 0x8c], 0xa90d883e
mov dword [ebp - 0x88], 0x671b8f39
mov dword [ebp - 0x84], 0xa82ea236
mov dword [ebp - 0x80], 0x983c6d15
mov dword [ebp - 0x7c], 0x73279909
mov dword [ebp - 0x78], 0xbf33b21f
mov dword [ebp - 0x74], 0xc40ca105
mov dword [ebp - 0x70], 0x7306c624
mov dword [ebp - 0x6c], 0xa18ce011
mov dword [ebp - 0x68], 0xaddc2245
mov dword [ebp - 0x64], 0x62bef071
mov dword [ebp - 0x60], 0x9806897c
mov dword [ebp - 0x5c], 0xba1af5
mov dword [ebp - 0x58], 0x1ecf1ca0
mov dword [ebp - 0x54], 0x23ab01ce
mov dword [ebp - 0x50], 0x11d612ce
mov dword [ebp - 0x4c], 0x16ae078b
mov dword [ebp - 0x48], 0x18d635db
mov dword [ebp - 0x44], 0x26d617df
mov dword [ebp - 0x40], 0x38da30e3
mov dword [ebp - 0x3c], 0xfc80293
mov dword [ebp - 0x38], 0x13e234ea
mov word [ebp - 0x34], 0x4ed
mov byte [ebp - 0x32], 0xcf
cmp ecx, 0x54
jne 0x100cabe2
push 0x11
pop esi
add ecx, 0xf
jmp 0x100cac14
movzx eax, byte [ebp + ecx - 0xbf]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cac05
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xc0]
mov byte [ebp + eax - 0x150], dl
add ecx, 2
cmp ecx, 0x8f
jb 0x100cabd5
lea eax, [ebp - 0x150]
mov byte [ebp - 0x111], bl
push eax
lea ecx, [ebp - 0x20c]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x4a8]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x18
call fcn.100170c9
push 0x40
lea eax, [ebp - 0x150]
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov al, bl
mov esi, edi
test al, al
je 0x100cac85
push dword [ebp - 0x20]
lea eax, [ebp - 0x4a8]
push eax
call fcn.10023230
pop ecx
pop ecx
push dword [ebp - 0x210]
mov eax, dword [esi]
push ecx
push dword [ebp - 0x188]
mov byte [ebp + 0xb], 1
push ecx
push dword [ebp - 0x20]
lea ebx, [eax + 0x60]
push ecx
push dword [ebp - 0x188]
lea edi, [eax + 0x30]
push ecx
push dword [ebp - 0x188]
lea eax, [ebp - 0x4a8]
push ecx
push dword [ebp - 0x190]
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
pop ecx
pop ecx
mov edx, edi
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
pop ecx
pop ecx
mov edx, ebx
mov ecx, eax
call fcn.10023410
lea edx, [ebp - 0x284]
mov ecx, eax
call fcn.10023410
lea edx, [ebp - 0x30c]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
mov al, byte [ebp + 0xb]
add esi, 4
pop ecx
pop ecx
cmp esi, dword [ebp - 0x230]
jne 0x100cac70
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x4b8]
call fcn.100cc7ce
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x2b4]
mov edx, dword [ebp - 0x24]
call fcn.100c9ee5
xor ebx, ebx
lea ecx, [ebp - 0x2b4]
push ebx
push 1
call fcn.100170c9
lea ecx, [ebp - 0x4b8]
call fcn.100cc61a
push ebx
push 1
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x12
call fcn.100170c9
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x17c], 0
je 0x100cafd4
push ecx
push ecx
lea ecx, [ebp - 0x408]
call fcn.100cc726
mov byte [ebp - 4], 0x1b
mov ecx, ebx
mov dword [ebp - 0xa8], 0x752d6a11
mov esi, ebx
mov dword [ebp - 0xa4], 0x6a222d36
mov dword [ebp - 0xa0], 0x7d08290b
mov dword [ebp - 0x9c], 0x83267c17
mov dword [ebp - 0x98], 0x46287a13
mov dword [ebp - 0x94], 0x86237421
mov dword [ebp - 0x90], 0x7a158719
mov dword [ebp - 0x8c], 0x94243d2f
mov dword [ebp - 0x88], 0x991c892b
mov dword [ebp - 0x84], 0x3c94200d
mov dword [ebp - 0x80], 0x8e93e629
mov dword [ebp - 0x7c], 0xee751387
mov dword [ebp - 0x78], 0x33932598
mov dword [ebp - 0x74], 0x2ea02a90
mov dword [ebp - 0x70], 0xea11490
mov dword [ebp - 0x6c], 0x7750283
mov dword [ebp - 0x68], 0xc7a05a8
mov dword [ebp - 0x64], 0x27a2308a
mov dword [ebp - 0x60], 0xdb01e66
mov dword [ebp - 0x5c], 0x2c613284
mov dword [ebp - 0x58], 0x3b91aa8
mov dword [ebp - 0x54], 0x19e0088
mov dword [ebp - 0x50], 0x1bc0129b
mov dword [ebp - 0x4c], 0x20ba1d8c
mov dword [ebp - 0x48], 0x1fc80ac7
mov dword [ebp - 0x44], 0x31bc16c0
mov dword [ebp - 0x40], 0x29d310bf
mov dword [ebp - 0x3c], 0x1881067f
mov dword [ebp - 0x38], 0x34b904d8
mov dword [ebp - 0x34], 0x35d509d5
mov word [ebp - 0x30], 0xf8b
mov byte [ebp - 0x2e], 0x8d
cmp ecx, 0x24
jne 0x100caead
push 0xd
pop esi
add ecx, 0xb
jmp 0x100caedf
movzx eax, byte [ebp + ecx - 0xa7]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100caed0
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xa8]
mov byte [ebp + eax - 0x144], dl
add ecx, 2
cmp ecx, 0x7b
jb 0x100caea0
lea eax, [ebp - 0x144]
mov byte [ebp - 0x10d], bl
push eax
lea ecx, [ebp - 0x2b4]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x3f8]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0x1b
call fcn.100170c9
push 0x38
lea eax, [ebp - 0x144]
push ebx
push eax
call fcn.101209c0
mov edi, dword [ebp - 0x180]
add esp, 0xc
mov byte [ebp + 0xb], bl
mov esi, dword [edi]
mov dword [ebp - 0x1c], esi
cmp esi, edi
je 0x100caf7c
test bl, bl
je 0x100caf5b
push dword [ebp - 0x20]
lea eax, [ebp - 0x3f8]
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [esi + 0x14]
mov bl, 1
lea ecx, [ebp - 0x3f8]
call fcn.10023410
lea ecx, [ebp - 0x1c]
call fcn.10014de6
mov esi, dword [ebp - 0x1c]
cmp esi, edi
jne 0x100caf46
xor ebx, ebx
push dword [ebp - 0x210]
lea eax, [ebp - 0x3f8]
push eax
call fcn.10023230
pop ecx
pop ecx
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x408]
call fcn.100cc7ce
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x284]
mov edx, dword [ebp - 0x24]
call fcn.100c9ee5
push ebx
push 1
lea ecx, [ebp - 0x284]
call fcn.100170c9
lea ecx, [ebp - 0x408]
mov byte [ebp - 4], 0x12
call fcn.100cc61a
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 2
jl 0x100ca794
cmp dword [ebp - 0x17c], 0
je 0x100cb4bc
call fcn.10015ef6
xor edx, edx
mov ecx, 0x1fff00
div ecx
lea edi, [edx + 0x30000000]
mov eax, edi
and eax, 0x800000ff
jns 0x100cb012
dec eax
or eax, 0xffffff00
inc eax
push ecx
push ecx
lea ecx, [ebp - 0x6c8]
sub edi, eax
call fcn.100cc726
mov byte [ebp - 4], 0x1e
mov ecx, ebx
mov dword [ebp - 0x108], 0x6c532164
mov esi, ebx
mov dword [ebp - 0x104], 0x4c696c3b
mov dword [ebp - 0x100], 0x81285701
mov dword [ebp - 0xfc], 0x7421811e
mov dword [ebp - 0xf8], 0x724f7a41
mov dword [ebp - 0xf4], 0x8a5e3e63
mov dword [ebp - 0xf0], 0x7e466b04
mov dword [ebp - 0xec], 0x882b8619
mov dword [ebp - 0xe8], 0x91458f3e
mov dword [ebp - 0xe4], 0x96556666
mov dword [ebp - 0xe0], 0x9f349516
mov dword [ebp - 0xdc], 0x7403961f
mov dword [ebp - 0xd8], 0xa72c9542
mov dword [ebp - 0xd4], 0x98307e07
mov dword [ebp - 0xd0], 0x9a27a731
mov dword [ebp - 0xcc], 0xa44d9c1d
mov dword [ebp - 0xc8], 0xa25da354
mov dword [ebp - 0xc4], 0xb01bb94c
mov dword [ebp - 0xc0], 0xaa406906
mov dword [ebp - 0xbc], 0xb43dac57
mov dword [ebp - 0xb8], 0x9f67c411
mov dword [ebp - 0xb4], 0xc75ab95c
mov dword [ebp - 0xb0], 0xa400cb2f
mov dword [ebp - 0xac], 0xd414d12e
mov dword [ebp - 0xa8], 0xd524d53f
mov dword [ebp - 0xa4], 0xd449d839
mov dword [ebp - 0xa0], 0xd048cf23
mov dword [ebp - 0x9c], 0xe161df47
mov dword [ebp - 0x98], 0xdc44e060
mov dword [ebp - 0x94], 0xa32de352
mov dword [ebp - 0x90], 0xee2ae229
mov dword [ebp - 0x8c], 0xec26ec36
mov dword [ebp - 0x88], 0xe862a913
mov dword [ebp - 0x84], 0xeb4ea50b
mov dword [ebp - 0x80], 0xe165b543
mov dword [ebp - 0x7c], 0xe305f24a
mov dword [ebp - 0x78], 0x60e0050
mov dword [ebp - 0x74], 0xfc3aea68
mov dword [ebp - 0x70], 0x1459ed09
mov dword [ebp - 0x6c], 0xd370a20
mov dword [ebp - 0x68], 0xf20a1510
mov dword [ebp - 0x64], 0xc7121d56
mov dword [ebp - 0x60], 0x140dd538
mov dword [ebp - 0x5c], 0x250c2318
mov dword [ebp - 0x58], 0x26322025
mov dword [ebp - 0x54], 0x2033223c
mov dword [ebp - 0x50], 0xe6a2c1a
mov dword [ebp - 0x4c], 0xeb222b4b
mov dword [ebp - 0x48], 0x2c353315
mov dword [ebp - 0x44], 0x2c5b285f
mov dword [ebp - 0x40], 0xf9073d1c
mov dword [ebp - 0x3c], 0x2d2a675
mov dword [ebp - 0x38], 0x1719088a
mov dword [ebp - 0x34], 0x24358f9
mov dword [ebp - 0x30], 0x513c0f24
mov byte [ebp - 0x2c], 0x42
cmp ecx, 0xca
jne 0x100cb224
push 7
pop esi
add ecx, 5
jmp 0x100cb256
movzx eax, byte [ebp + ecx - 0x107]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cb247
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x108]
mov byte [ebp + eax - 0x178], dl
add ecx, 2
cmp ecx, 0xdd
jb 0x100cb214
lea eax, [ebp - 0x178]
mov byte [ebp - 0x10d], bl
push eax
lea ecx, [ebp - 0x20c]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x6b8]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x1e
call fcn.100170c9
push 0x6c
lea eax, [ebp - 0x178]
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov byte [ebp + 0xb], bl
push 0xc11b
call fcn.1001965b
pop ecx
mov byte [ebp - 0x1c], al
mov ecx, ebx
mov dword [ebp - 0x21c], 0xca042d00
mov esi, ebx
mov dword [ebp - 0x218], 0x33019985
mov word [ebp - 0x214], 0x3102
cmp ecx, 2
jne 0x100cb2ec
push 4
pop esi
push esi
pop ecx
jmp 0x100cb31b
movzx eax, byte [ebp + ecx - 0x21b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cb30f
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x21c]
mov byte [ebp + eax - 0x14], dl
add ecx, 2
cmp ecx, 0xa
jb 0x100cb2e0
mov edx, edi
mov byte [ebp - 0x11], bl
lea ecx, [ebp - 0x228]
call fcn.1002a287
mov esi, eax
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x20c]
call fcn.1001c44c
push esi
mov edx, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2b4]
call fcn.10065648
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x20c]
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x24
call fcn.100170c9
mov esi, dword [ebp - 0x180]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18c], esi
mov eax, dword [esi]
mov dword [ebp - 0x188], eax
cmp eax, esi
je 0x100cb46d
mov bl, byte [ebp + 0xb]
add eax, 0x14
push 3
mov dword [ebp + 8], eax
mov esi, eax
pop edi
test bl, bl
je 0x100cb3bd
push dword [ebp - 0x20]
lea eax, [ebp - 0x6b8]
push eax
call fcn.10023230
pop ecx
pop ecx
push dword [ebp - 0x210]
lea eax, [ebp - 0x6b8]
mov bl, 1
push ecx
push dword [ebp - 0x1c]
push ecx
push dword [ebp - 0x20]
push ecx
push dword [ebp - 0x1c]
push ecx
push dword [ebp - 0x20]
push ecx
push dword [ebp - 0x20]
push ecx
push dword [ebp - 0x190]
push eax
call fcn.10023230
pop ecx
pop ecx
mov edx, esi
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [ebp - 0x30c]
mov ecx, eax
call fcn.10023410
lea edx, [ebp - 0x2b4]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
pop ecx
pop ecx
dec edi
jne 0x100cb3a8
lea ecx, [ebp - 0x188]
call fcn.10014de6
mov eax, dword [ebp - 0x188]
cmp eax, dword [ebp - 0x18c]
jne 0x100cb39d
xor ebx, ebx
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x6c8]
call fcn.100cc7ce
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x284]
mov edx, dword [ebp - 0x24]
call fcn.100c9ee5
push ebx
push 1
lea ecx, [ebp - 0x284]
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x2b4]
call fcn.100170c9
lea ecx, [ebp - 0x6c8]
mov byte [ebp - 4], 0x12
call fcn.100cc61a
push ebx
lea eax, [ebp - 0x18c]
mov dword [ebp + 8], 4
push eax
push 6
lea eax, [ebp + 8]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x18c]
add esp, 0x14
test eax, eax
je 0x100cb4ea
push dword [ebp - 0x24]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x30c]
call fcn.100170c9
lea ecx, [ebp - 0x180]
call fcn.10036852
mov eax, dword [ebp - 0x234]
test eax, eax
je 0x100cb514
push eax
call fcn.10120696
pop ecx
mov eax, dword [ebp - 0x1c0]
test eax, eax
je 0x100cb525
push eax
call fcn.10120696
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x29c]
call fcn.100170c9
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x100ca1c0
mov ecx, esi
call fcn.1005cb9c
push esi
call fcn.10120696
pop ecx
jmp 0x100ca1c0
mov dword [ebp - 0x1b0], 0x49016405
mov dword [ebp - 0x1ac], 0x7d037307
mov dword [ebp - 0x1a8], 0x6c027c08
mov dword [ebp - 0x1a4], 0x2be4b00b
mov dword [ebp - 0x1a0], 0xb4eaa41d
mov dword [ebp - 0x19c], 0x61d0ff4
mov dword [ebp - 0x198], 0x46b007c
mov byte [ebp - 0x194], 0x7a
cmp ecx, 0xc
jne 0x100cb5af
push 0xb
pop esi
push 0x15
pop ecx
jmp 0x100cb5e2
movzx eax, byte [ebp + ecx - 0x1af]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cb5d2
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1b0]
mov word [ebp + eax*2 - 0x23c], dx
add ecx, 2
cmp ecx, 0x1d
jb 0x100cb5a2
xor eax, eax
lea ecx, [ebp - 0x1ac]
mov word [ebp - 0x22a], ax
lea eax, [ebp - 0x23c]
push eax
call fcn.10013e17
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x20c]
push eax
mov dword [ebp - 4], 0x26
call fcn.1002a022
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x28
call fcn.10014448
xor eax, eax
lea edi, [ebp - 0x23c]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x20c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.1003a0a4
test al, al
je 0x100cc5fb
mov ecx, ebx
mov eax, ebx
mov edx, ebx
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], edx
mov edi, dword [ebp + 0x10]
mov byte [ebp - 4], 0x29
mov esi, dword [edi]
mov edi, dword [edi + 4]
cmp esi, edi
je 0x100cb74f
jmp 0x100cb688
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
or dword [ebp - 0x2dc], 0xffffffff
mov dword [ebp - 0x2e0], esi
mov dword [ebp - 0x2c4], 0xf
mov dword [ebp - 0x2c8], ebx
mov byte [ebp - 0x2d8], bl
lea edx, [ebp - 0x2e0]
mov byte [ebp - 4], 0x2a
cmp edx, eax
mov edx, dword [ebp - 0x17c]
jae 0x100cb705
lea eax, [ebp - 0x2e0]
cmp ecx, eax
mov eax, dword [ebp - 0x180]
ja 0x100cb705
lea ecx, [ebp - 0x2e0]
sub ecx, dword [ebp - 0x184]
sar ecx, 5
mov dword [ebp + 8], ecx
cmp eax, edx
jne 0x100cb6fa
push ecx
lea ecx, [ebp - 0x184]
call fcn.100cc845
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp + 8]
shl ecx, 5
add ecx, dword [ebp - 0x184]
jmp 0x100cb721
cmp eax, edx
jne 0x100cb71b
push ecx
lea ecx, [ebp - 0x184]
call fcn.100cc845
mov eax, dword [ebp - 0x180]
lea ecx, [ebp - 0x2e0]
push ecx
push eax
call fcn.100cc971
add dword [ebp - 0x180], 0x20
lea ecx, [ebp - 0x2d8]
push ebx
push 1
mov byte [ebp - 4], 0x29
call fcn.100170c9
add esi, 0xcc
cmp esi, edi
jne 0x100cb67c
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.10074140
push ebx
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x2b
push eax
push 1
lea eax, [ebp + 8]
mov dword [ebp - 0x20], ebx
push eax
push ebx
mov dword [ebp + 8], 4
call fcn.100d5716
mov ecx, dword [ebp - 0x10]
add esp, 0x14
test ecx, ecx
je 0x100cc5ad
cmp dword [ebp - 0x1f8], 8
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20c]
cmovae eax, dword [ebp - 0x20c]
push edx
push eax
call ecx
pop ecx
pop ecx
test eax, eax
jne 0x100cc5ad
mov dword [ebp - 0x160], 0x781e6413
mov ecx, ebx
mov dword [ebp - 0x15c], 0x27094a1c
mov esi, ebx
mov dword [ebp - 0x158], 0x2b066018
mov dword [ebp - 0x154], 0x62005201
mov dword [ebp - 0x150], 0x651b311d
mov dword [ebp - 0x14c], 0x690b3722
mov dword [ebp - 0x148], 0x87208207
mov dword [ebp - 0x144], 0x6e0c7e10
mov dword [ebp - 0x140], 0x87084117
mov dword [ebp - 0x13c], 0x9614720d
mov dword [ebp - 0x138], 0xdd00810a
mov dword [ebp - 0x134], 0xec83bdeb
mov dword [ebp - 0x130], 0x7502cb32
mov dword [ebp - 0x12c], 0x96129d1f
mov dword [ebp - 0x128], 0xa4167204
mov dword [ebp - 0x124], 0x7a1a7b19
mov dword [ebp - 0x120], 0x590e8b05
mov dword [ebp - 0x11c], 0xa30fa915
mov dword [ebp - 0x118], 0x8603b511
mov dword [ebp - 0x114], 0x8b0a8021
cmp ecx, 0x28
jne 0x100cb889
push 0xa
pop esi
push 0x30
pop ecx
jmp 0x100cb8bb
movzx eax, byte [ebp + ecx - 0x15f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cb8ac
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x160]
mov byte [ebp + eax - 0x2c0], dl
add ecx, 2
cmp ecx, 0x50
jb 0x100cb87c
lea eax, [ebp - 0x2c0]
mov byte [ebp - 0x29d], bl
push eax
lea ecx, [ebp - 0x284]
call fcn.1001c44c
push 9
pop ecx
xor eax, eax
mov byte [ebp - 4], 0x2c
lea edi, [ebp - 0x2c0]
rep stosd dword es:[edi], eax
push 0x865f
call fcn.1001965b
mov byte [ebp - 0x188], al
mov dword [esp], 0x6bcd
call fcn.1001965b
mov byte [ebp - 0x24], al
mov dword [esp], 0x122ff
call fcn.1001965b
mov byte [ebp - 0x210], al
mov dword [esp], 0x5f37
call fcn.1001965b
pop ecx
mov byte [ebp - 0x190], al
mov ecx, ebx
mov eax, ebx
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x214], ebx
mov byte [ebp - 4], 0x2d
mov edx, ebx
mov edi, dword [ebp - 0x180]
mov esi, dword [ebp - 0x184]
mov dword [ebp - 0x14], edx
cmp esi, edi
je 0x100cbba8
lea edx, [esi + 4]
mov esi, dword [ebp - 0x21c]
mov dword [ebp + 8], edx
lea eax, [edx - 4]
mov dword [ebp - 0x248], eax
cmp dword [edx], ebx
jge 0x100cbb04
mov eax, dword [eax]
lea edx, [ebp - 0x284]
add eax, 0xa8
lea ecx, [ebp - 0x1ac]
push eax
call fcn.10038746
pop ecx
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x26c]
push dword [ebp - 0x24]
mov edx, eax
call fcn.100bfbf2
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x30
call fcn.100170c9
push ebx
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x18], ebx
push eax
push 2
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 4
push eax
push ebx
call fcn.100d5716
mov ecx, dword [ebp - 0x18c]
add esp, 0x14
test ecx, ecx
je 0x100cbae9
cmp dword [ebp - 0x258], 0x10
lea edx, [ebp - 0x18]
push ebx
push edx
lea eax, [ebp - 0x26c]
cmovae eax, dword [ebp - 0x26c]
push 0xffffffffffffffff
push eax
push dword [ebp - 0x20]
call ecx
add esp, 0x14
test eax, eax
jne 0x100cbae9
cmp dword [ebp - 0x18], eax
je 0x100cbae9
push 4
pop eax
push ebx
lea ecx, [ebp - 0x254]
mov dword [ebp - 0x10], eax
push ecx
push eax
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x254]
add esp, 0x14
test eax, eax
je 0x100cbabb
push dword [ebp - 0x18]
call eax
pop ecx
cmp eax, 0x64
jne 0x100cbabb
push ebx
lea eax, [ebp - 0x250]
mov dword [ebp - 0x10], 4
push eax
push 8
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x250]
add esp, 0x14
test eax, eax
je 0x100cba8d
push ebx
push dword [ebp - 0x18]
call eax
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
jmp 0x100cba90
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
test edx, edx
js 0x100cbabb
lea ecx, [ebp - 0x29c]
call fcn.1002a287
mov ecx, dword [ebp + 8]
push eax
lea ecx, [ecx + 4]
call fcn.100360e4
push ebx
push 1
lea ecx, [ebp - 0x29c]
call fcn.100170c9
push ebx
lea eax, [ebp - 0x244]
mov dword [ebp - 0x10], 4
push eax
push 5
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x244]
add esp, 0x14
test eax, eax
je 0x100cbae9
push dword [ebp - 0x18]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 0x2d
call fcn.100170c9
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp + 8]
cmp dword [ebp - 0x14], 0
jne 0x100cbb88
cmp dword [edx], ebx
jge 0x100cbb88
lea eax, [ebp - 0x248]
cmp eax, ecx
jae 0x100cbb53
cmp esi, eax
ja 0x100cbb53
sub eax, esi
sar eax, 2
mov dword [ebp - 0x10], eax
cmp ecx, dword [ebp - 0x214]
jne 0x100cbb4a
push ecx
lea ecx, [ebp - 0x21c]
call fcn.100b7038
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x21c]
test ecx, ecx
je 0x100cbb7f
mov eax, dword [esi + eax*4]
jmp 0x100cbb7d
cmp ecx, dword [ebp - 0x214]
jne 0x100cbb76
push ecx
lea ecx, [ebp - 0x21c]
call fcn.100b7038
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp + 8]
mov esi, dword [ebp - 0x21c]
test ecx, ecx
je 0x100cbb7f
lea eax, [edx - 4]
mov dword [ecx], eax
add ecx, 4
mov dword [ebp - 0x218], ecx
add edx, 0x20
mov dword [ebp + 8], edx
lea eax, [edx - 4]
cmp eax, edi
jne 0x100cb96f
mov esi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x14]
cmp eax, ecx
je 0x100cc2a5
test edx, edx
jne 0x100cbe0b
push ecx
push ecx
lea ecx, [ebp - 0x568]
call fcn.100cc726
mov byte [ebp - 4], 0x31
mov ecx, ebx
mov dword [ebp - 0x160], 0x6c0f571b
mov esi, ebx
mov dword [ebp - 0x15c], 0x4c035308
mov dword [ebp - 0x158], 0x77185b04
mov dword [ebp - 0x154], 0x58002d14
mov dword [ebp - 0x150], 0x740d870e
mov dword [ebp - 0x14c], 0x8611351a
mov dword [ebp - 0x148], 0x69014219
mov dword [ebp - 0x144], 0x72025e1c
mov dword [ebp - 0x140], 0x6c078410
mov dword [ebp - 0x13c], 0x95129a16
mov dword [ebp - 0x138], 0x7f059b17
mov dword [ebp - 0x134], 0x57158109
mov dword [ebp - 0x130], 0x881e761f
mov dword [ebp - 0x12c], 0xaa135506
mov dword [ebp - 0x128], 0xe19c8012
mov dword [ebp - 0x124], 0x12b2e57a
mov dword [ebp - 0x120], 0xc05a85cb
mov dword [ebp - 0x11c], 0xbf66f614
mov dword [ebp - 0x118], 0x8c2055e5
mov dword [ebp - 0x114], 0x8c0aa10c
mov dword [ebp - 0x110], 0x610b8b1d
cmp ecx, 0x38
jne 0x100cbcac
push 0x12
pop esi
push 0x48
pop ecx
jmp 0x100cbcde
movzx eax, byte [ebp + ecx - 0x15f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cbccf
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x160]
mov byte [ebp + eax - 0x1e8], dl
add ecx, 2
cmp ecx, 0x54
jb 0x100cbc9f
lea eax, [ebp - 0x1e8]
mov byte [ebp - 0x1c7], bl
push eax
lea ecx, [ebp - 0x1ac]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x558]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x31
call fcn.100170c9
push 8
xor eax, eax
mov esi, dword [ebp - 0x21c]
pop ecx
lea edi, [ebp - 0x1e8]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov al, 1
test al, al
jne 0x100cbd50
push dword [ebp - 0x188]
lea eax, [ebp - 0x558]
push eax
call fcn.10023230
pop ecx
pop ecx
push dword [ebp - 0x190]
mov eax, dword [esi]
push ecx
push dword [ebp - 0x24]
mov byte [ebp + 0xb], bl
mov edi, dword [eax]
lea eax, [ebp - 0x558]
push ecx
push dword [ebp - 0x24]
push ecx
push dword [ebp - 0x210]
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [edi + 0xa8]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
add esi, 4
mov al, bl
pop ecx
pop ecx
cmp esi, dword [ebp - 0x218]
jne 0x100cbd38
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x568]
call fcn.100cc7ce
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x29c]
mov edx, dword [ebp - 0x20]
call fcn.100c9ee5
push ebx
push 1
lea ecx, [ebp - 0x29c]
call fcn.100170c9
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 0x2d
call fcn.100cc61a
mov edi, dword [ebp - 0x180]
mov esi, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 2
jl 0x100cb95b
push ecx
push ecx
lea ecx, [ebp - 0x618]
call fcn.100cc726
mov byte [ebp - 4], 0x34
mov ecx, ebx
mov dword [ebp - 0xc0], 0x790e2d35
mov esi, ebx
mov dword [ebp - 0xbc], 0x6e286627
mov dword [ebp - 0xb8], 0x7f167039
mov dword [ebp - 0xb4], 0x6e217638
mov dword [ebp - 0xb0], 0x65046443
mov dword [ebp - 0xac], 0x7b327e25
mov dword [ebp - 0xa8], 0x88268134
mov dword [ebp - 0xa4], 0x921a6b08
mov dword [ebp - 0xa0], 0x91124106
mov dword [ebp - 0x9c], 0x532f4e3c
mov dword [ebp - 0x98], 0x7f05921d
mov dword [ebp - 0x94], 0x9e118e2c
mov dword [ebp - 0x90], 0x81017a07
mov dword [ebp - 0x8c], 0x63245d1c
mov dword [ebp - 0x88], 0xaa1f9e37
mov dword [ebp - 0x84], 0x9441a30c
mov dword [ebp - 0x80], 0xb120b533
mov dword [ebp - 0x7c], 0xa914ae31
mov dword [ebp - 0x78], 0xa13ead23
mov dword [ebp - 0x74], 0xb429b536
mov dword [ebp - 0x70], 0xb42ec53b
mov dword [ebp - 0x6c], 0xb62aa140
mov dword [ebp - 0x68], 0xbf2b791b
mov dword [ebp - 0x64], 0xc815c622
mov dword [ebp - 0x60], 0xc418c013
mov dword [ebp - 0x5c], 0xca10ce0f
mov dword [ebp - 0x58], 0xcc0db200
mov dword [ebp - 0x54], 0x2c6f9307
mov dword [ebp - 0x50], 0x30f7d673
mov dword [ebp - 0x4c], 0x2db442e4
mov dword [ebp - 0x48], 0xbc709e5
mov dword [ebp - 0x44], 0x3de71995
mov dword [ebp - 0x40], 0x2bc3f99
mov dword [ebp - 0x3c], 0xae73ad0
mov dword [ebp - 0x38], 0x3f017d0
mov word [ebp - 0x34], 0x1eca
mov byte [ebp - 0x32], 0xea
cmp ecx, 0x6c
jne 0x100cbf69
push 7
pop esi
push 0x71
pop ecx
jmp 0x100cbf9b
movzx eax, byte [ebp + ecx - 0xbf]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cbf8c
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xc0]
mov byte [ebp + eax - 0x150], dl
add ecx, 2
cmp ecx, 0x8f
jb 0x100cbf5c
lea eax, [ebp - 0x150]
mov byte [ebp - 0x10c], bl
push eax
lea ecx, [ebp - 0x1ac]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x608]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x34
call fcn.100170c9
push 0x45
lea eax, [ebp - 0x150]
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x1ec], 0x2f032d07
mov ecx, ebx
mov dword [ebp - 0x1e8], 0x300b3b06
mov esi, ebx
mov dword [ebp - 0x1e4], 0x3c052904
mov dword [ebp - 0x1e0], 0x4e023e09
mov dword [ebp - 0x1dc], 0xa0c6090e
mov dword [ebp - 0x1d8], 0x17ef21d4
mov dword [ebp - 0x1d4], 0xaa4617d8
mov dword [ebp - 0x1d0], 0x31019c9b
mov dword [ebp - 0x1cc], 0x4b0a3f00
mov word [ebp - 0x1c8], 0x3708
cmp ecx, 0x10
jne 0x100cc06a
push 0xe
pop esi
push 0x1c
pop ecx
jmp 0x100cc09c
movzx eax, byte [ebp + ecx - 0x1eb]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cc08d
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1ec]
mov byte [ebp + eax - 0x1c0], dl
add ecx, 2
cmp ecx, 0x26
jb 0x100cc05d
lea eax, [ebp - 0x1c0]
mov byte [ebp - 0x1b4], bl
push eax
lea ecx, [ebp - 0x29c]
call fcn.1001c44c
mov byte [ebp - 4], 0x36
lea edi, [ebp - 0x1c0]
mov esi, dword [ebp - 0x21c]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
mov edi, dword [ebp - 0x218]
mov eax, dword [esi]
cmp dword [eax + 4], ebx
jl 0x100cc130
cmp byte [ebp + 0xb], 0
je 0x100cc0f9
push dword [ebp - 0x188]
lea eax, [ebp - 0x608]
push eax
call fcn.10023230
pop ecx
pop ecx
push dword [ebp - 0x210]
mov edi, dword [esi]
lea eax, [ebp - 0x608]
push eax
mov byte [ebp + 0xb], 1
call fcn.10023230
pop ecx
pop ecx
lea edx, [edi + 8]
mov ecx, eax
call fcn.10023410
lea edx, [ebp - 0x29c]
mov ecx, eax
call fcn.10023410
mov edi, dword [ebp - 0x218]
add esi, 4
cmp esi, edi
jne 0x100cc0d8
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x618]
call fcn.100cc7ce
push ebx
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x37
push eax
push 2
lea eax, [ebp + 8]
mov dword [ebp - 0x18], ebx
push eax
push ebx
mov dword [ebp + 8], 4
call fcn.100d5716
mov ecx, dword [ebp - 0x10]
add esp, 0x14
test ecx, ecx
je 0x100cc274
cmp dword [ebp - 0x258], 0x10
lea edx, [ebp - 0x18]
push ebx
push edx
lea eax, [ebp - 0x26c]
cmovae eax, dword [ebp - 0x26c]
push 0xffffffffffffffff
push eax
push dword [ebp - 0x20]
call ecx
add esp, 0x14
test eax, eax
jne 0x100cc274
cmp dword [ebp - 0x18], eax
je 0x100cc274
mov esi, dword [ebp - 0x21c]
xor ecx, ecx
inc ecx
mov dword [ebp + 8], ecx
mov eax, dword [esi]
cmp dword [eax + 4], ebx
jl 0x100cc214
push ebx
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x10], 4
push eax
push 0xf
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.100d5716
mov edx, dword [ebp - 0x18c]
add esp, 0x14
test edx, edx
je 0x100cc21d
mov eax, dword [esi]
push ebx
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc4]
sub eax, dword [ecx + 0xc0]
push eax
push dword [ecx + 0xc0]
push dword [ebp + 8]
push dword [ebp - 0x18]
call edx
mov ecx, dword [ebp + 8]
add esp, 0x14
inc ecx
mov dword [ebp + 8], ecx
test eax, eax
jne 0x100cc21d
add esi, 4
cmp esi, edi
jne 0x100cc1b7
jmp 0x100cc220
or ecx, 0xffffffff
test ecx, ecx
jle 0x100cc24c
push ebx
lea eax, [ebp - 0x10]
mov dword [ebp + 8], 4
push eax
push 4
lea eax, [ebp + 8]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x10]
add esp, 0x14
test eax, eax
je 0x100cc24c
push dword [ebp - 0x18]
call eax
pop ecx
push ebx
lea eax, [ebp - 0x10]
mov dword [ebp + 8], 4
push eax
push 5
lea eax, [ebp + 8]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x10]
add esp, 0x14
test eax, eax
je 0x100cc274
push dword [ebp - 0x18]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x26c]
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x29c]
call fcn.100170c9
lea ecx, [ebp - 0x618]
mov byte [ebp - 4], 0x2d
call fcn.100cc61a
mov esi, dword [ebp - 0x184]
push ecx
push ecx
lea ecx, [ebp - 0x778]
call fcn.100cc726
mov byte [ebp - 4], 0x38
mov ecx, ebx
mov dword [ebp - 0x178], 0x720e2118
mov edi, ebx
mov dword [ebp - 0x174], 0x771a5b2c
mov dword [ebp - 0x170], 0x78116a12
mov dword [ebp - 0x16c], 0x6231700d
mov dword [ebp - 0x168], 0x5f2e701e
mov dword [ebp - 0x164], 0x89203506
mov dword [ebp - 0x160], 0x821c422a
mov dword [ebp - 0x15c], 0x880c7e1b
mov dword [ebp - 0x158], 0x8729412b
mov dword [ebp - 0x154], 0x9516662d
mov dword [ebp - 0x150], 0x990f7b04
mov dword [ebp - 0x14c], 0x8e105922
mov dword [ebp - 0x148], 0x1b0a9f26
mov dword [ebp - 0x144], 0xf7ceb1cb
mov dword [ebp - 0x140], 0x4011f62b
mov dword [ebp - 0x13c], 0x7e005b19
mov dword [ebp - 0x138], 0x9c247c03
mov dword [ebp - 0x134], 0xa4178e02
mov dword [ebp - 0x130], 0x8f08a41d
mov dword [ebp - 0x12c], 0x9301a227
mov dword [ebp - 0x128], 0xb914b015
mov dword [ebp - 0x124], 0xbd136b0b
mov dword [ebp - 0x120], 0xa00ab823
mov dword [ebp - 0x11c], 0xa905bf21
mov dword [ebp - 0x118], 0xae2fab09
mov dword [ebp - 0x114], 0xd21fa407
mov dword [ebp - 0x110], 0xd025c828
mov word [ebp - 0x10c], 0xa830
cmp ecx, 0x32
jne 0x100cc3de
push 0xa
pop edi
push 0x3a
pop ecx
jmp 0x100cc410
movzx eax, byte [ebp + ecx - 0x177]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100cc401
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x178]
mov byte [ebp + eax - 0x358], dl
add ecx, 2
cmp ecx, 0x6e
jb 0x100cc3d1
lea eax, [ebp - 0x358]
mov byte [ebp - 0x326], bl
push eax
lea ecx, [ebp - 0x1ac]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x768]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x38
call fcn.100170c9
push 0x33
lea eax, [ebp - 0x358]
push ebx
push eax
call fcn.101209c0
mov edi, dword [ebp - 0x180]
add esp, 0xc
mov al, bl
cmp dword [ebp - 0x184], edi
je 0x100cc54f
lea ecx, [esi + 8]
cmp dword [ecx - 4], ebx
jl 0x100cc50e
test al, al
je 0x100cc49d
push dword [ebp - 0x188]
lea eax, [ebp - 0x768]
push eax
call fcn.10023230
pop ecx
pop ecx
push dword [ebp - 0x190]
mov edi, dword [esi]
lea eax, [ebp - 0x768]
push ecx
push dword [ebp - 0x188]
mov byte [ebp + 0xb], 1
push ecx
push dword [ebp - 0x24]
push ecx
push dword [ebp - 0x24]
push ecx
push dword [ebp - 0x210]
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [edi + 0x30]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [esi + 8]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
mov edi, dword [ebp - 0x180]
mov al, byte [ebp + 0xb]
pop ecx
pop ecx
add esi, 0x20
cmp esi, edi
jne 0x100cc479
test al, al
je 0x100cc54f
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x778]
call fcn.100cc7ce
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x29c]
mov edx, dword [ebp - 0x20]
call fcn.100c9ee5
push ebx
push 1
lea ecx, [ebp - 0x29c]
call fcn.100170c9
lea ecx, [ebp - 0x778]
mov byte [ebp - 4], 0x2d
call fcn.100cc61a
push ebx
lea eax, [ebp - 0x18c]
mov dword [ebp + 8], 4
push eax
push 6
lea eax, [ebp + 8]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x18c]
add esp, 0x14
test eax, eax
je 0x100cc58c
push dword [ebp - 0x20]
call eax
pop ecx
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x100cc59d
push eax
call fcn.10120696
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x284]
call fcn.100170c9
jmp 0x100cc5b3
mov edi, dword [ebp - 0x180]
mov byte [ebp - 4], 0x29
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x100cc5cc
mov ecx, esi
call fcn.1005cb9c
push esi
call fcn.10120696
pop ecx
mov eax, dword [ebp - 0x184]
test eax, eax
je 0x100cc5fb
mov esi, eax
cmp eax, edi
je 0x100cc5f4
push ebx
push 1
lea ecx, [esi + 8]
call fcn.100170c9
add esi, 0x20
cmp esi, edi
jne 0x100cc5dc
mov eax, dword [ebp - 0x184]
push eax
call fcn.10120696
pop ecx
lea ecx, [ebp - 0x20c]
push ebx
push 1
call fcn.10014448
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret