Function at 0x100cd27c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x101496e8
call fcn.1013e250
sub esp, 0x4f4
push ebx
push esi
push edi
mov edi, edx
test cl, cl
je 0x100ce72b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x100ce7e5
xor ebx, ebx
mov dword [ebp - 0x11c], 0x72062f09
mov dword [ebp - 0x118], 0x780b6e04
mov ecx, ebx
mov dword [ebp - 0x114], 0x79076a02
mov esi, ebx
mov dword [ebp - 0x110], 0x75018008
mov dword [ebp - 0x10c], 0x6f00840a
mov dword [ebp - 0x108], 0xab0f3012
mov dword [ebp - 0x104], 0xd3c50fa1
mov dword [ebp - 0x100], 0x58767589
mov dword [ebp - 0xfc], 0xb9fc8974
mov dword [ebp - 0xf8], 0x7e0deab1
mov dword [ebp - 0xf4], 0x8f037a05
mov dword [ebp - 0xf0], 0x890c800f
mov word [ebp - 0xec], 0x930e
cmp ecx, 0x14
jne 0x100cd33b
push 0x12
pop esi
push 0x24
pop ecx
jmp 0x100cd36e
movzx eax, byte [ebp + ecx - 0x11b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cd35e
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x11c]
mov word [ebp + eax*2 - 0x26c], dx
add ecx, 2
cmp ecx, 0x32
jb 0x100cd32e
xor eax, eax
lea ecx, [ebp - 0x284]
mov word [ebp - 0x24c], ax
lea eax, [ebp - 0x26c]
push eax
call fcn.10013e17
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x218]
push eax
mov dword [ebp - 4], ebx
call fcn.1002a022
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 2
call fcn.10014448
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x26c]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x218]
stosw word es:[edi], ax
call fcn.1003a0a4
test al, al
je 0x100ce718
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x124]
call fcn.10074140
push ebx
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 3
push eax
push 1
lea eax, [ebp - 0x134]
mov dword [ebp - 0xe4], ebx
push eax
push ebx
mov dword [ebp - 0x134], 4
call fcn.100d5716
mov ecx, dword [ebp - 0x12c]
add esp, 0x14
test ecx, ecx
je 0x100ce6fc
cmp dword [ebp - 0x204], 8
lea edx, [ebp - 0xe4]
lea eax, [ebp - 0x218]
cmovae eax, dword [ebp - 0x218]
push edx
push eax
call ecx
pop ecx
pop ecx
test eax, eax
jne 0x100ce6fc
push 0x865f
call fcn.1001965b
mov byte [ebp - 0x120], al
mov dword [esp], 0x6bcd
call fcn.1001965b
mov byte [ebp - 0xd0], al
mov dword [esp], 0x122ff
call fcn.1001965b
mov byte [ebp - 0x12c], al
mov dword [esp], 0x5f37
call fcn.1001965b
pop ecx
mov byte [ebp - 0x134], al
mov ecx, ebx
mov dword [ebp - 0x1b0], 0x56002118
mov esi, ebx
mov dword [ebp - 0x1ac], 0x591c520d
mov dword [ebp - 0x1a8], 0x772c6d23
mov dword [ebp - 0x1a4], 0x78208030
mov dword [ebp - 0x1a0], 0x33063109
mov dword [ebp - 0x19c], 0x371e820f
mov dword [ebp - 0x198], 0x811f8b2b
mov dword [ebp - 0x194], 0x8e278c15
mov dword [ebp - 0x190], 0x91286404
mov dword [ebp - 0x18c], 0x9c2a450e
mov dword [ebp - 0x188], 0x82198812
mov dword [ebp - 0x184], 0x93089607
mov dword [ebp - 0x180], 0x1410a417
mov dword [ebp - 0x17c], 0xf548e27b
mov dword [ebp - 0x178], 0x7a579740
mov dword [ebp - 0x174], 0x4d8386dc
mov dword [ebp - 0x170], 0x7b1ad09e
mov dword [ebp - 0x16c], 0x96249e25
mov dword [ebp - 0x168], 0x801d7e1b
mov dword [ebp - 0x164], 0xa4228201
mov dword [ebp - 0x160], 0xab2eb010
mov dword [ebp - 0x15c], 0xbf219102
mov dword [ebp - 0x158], 0xaa2d9b0b
mov dword [ebp - 0x154], 0xb813930a
mov dword [ebp - 0x150], 0xb614a505
mov dword [ebp - 0x14c], 0xbf31b62f
mov dword [ebp - 0x148], 0xc916b829
mov dword [ebp - 0x144], 0x9c32ac0c
mov dword [ebp - 0x140], 0xa803c426
mov word [ebp - 0x13c], 0xdf11
cmp ecx, 0x32
jne 0x100cd5d1
push 0x10
pop esi
push 0x40
pop ecx
jmp 0x100cd603
movzx eax, byte [ebp + ecx - 0x1af]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cd5f4
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1b0]
mov byte [ebp + eax - 0x2b8], dl
add ecx, 2
cmp ecx, 0x76
jb 0x100cd5c4
lea eax, [ebp - 0x2b8]
mov byte [ebp - 0x285], bl
push eax
lea ecx, [ebp - 0x248]
call fcn.1001c44c
push 0x34
lea eax, [ebp - 0x2b8]
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov dword [ebp - 0xc8], ebx
mov ecx, ebx
mov eax, ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd4], ebx
mov edx, dword [ebp + 8]
mov byte [ebp - 4], 5
mov esi, dword [edx]
mov edi, dword [edx + 4]
cmp esi, edi
je 0x100cdd98
mov dword [ebp - 0xc4], esi
cmp dword [esi + 0x94], ebx
jge 0x100cd7fe
lea eax, [esi + 0x64]
push eax
lea edx, [ebp - 0x248]
lea ecx, [ebp - 0x1d0]
call fcn.10038746
pop ecx
push ebx
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 6
push eax
push 2
lea eax, [ebp - 0xe8]
mov dword [ebp - 0x130], ebx
push eax
push ebx
mov dword [ebp - 0xe8], 4
call fcn.100d5716
mov ecx, dword [ebp - 0x1d8]
add esp, 0x14
test ecx, ecx
je 0x100cd7e6
cmp dword [ebp - 0x1bc], 0x10
lea edx, [ebp - 0x130]
push ebx
push edx
lea eax, [ebp - 0x1d0]
cmovae eax, dword [ebp - 0x1d0]
push 0xffffffffffffffff
push eax
push dword [ebp - 0xe4]
call ecx
add esp, 0x14
test eax, eax
jne 0x100cd7e6
cmp dword [ebp - 0x130], eax
je 0x100cd7e6
push 4
pop eax
push ebx
lea ecx, [ebp - 0x1d4]
mov dword [ebp - 0xe8], eax
push ecx
push eax
lea eax, [ebp - 0xe8]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x1d4]
add esp, 0x14
test eax, eax
je 0x100cd7af
push dword [ebp - 0x130]
call eax
pop ecx
cmp eax, 0x64
jne 0x100cd7af
push ebx
lea eax, [ebp - 0x1dc]
mov dword [ebp - 0xe8], 4
push eax
push 8
lea eax, [ebp - 0xe8]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x1dc]
add esp, 0x14
test eax, eax
je 0x100cd780
push ebx
push dword [ebp - 0x130]
call eax
pop ecx
pop ecx
mov dword [esi + 0x94], eax
mov edx, dword [esi + 0x94]
test edx, edx
js 0x100cd7af
lea ecx, [ebp - 0x1f4]
call fcn.1002a287
push eax
lea ecx, [esi + 0xa0]
call fcn.100360e4
push ebx
push 1
lea ecx, [ebp - 0x1f4]
call fcn.100170c9
push ebx
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0xe8], 4
push eax
push 5
lea eax, [ebp - 0xe8]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x1b4]
add esp, 0x14
test eax, eax
je 0x100cd7e6
push dword [ebp - 0x130]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 5
call fcn.100170c9
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
jne 0x100cd822
cmp dword [esi + 0x94], ebx
jge 0x100cd822
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0xdc]
call fcn.100b6ec6
mov ecx, dword [ebp - 0xc8]
add esi, 0xe8
cmp esi, edi
jne 0x100cd665
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xd8]
je 0x100cdd98
test ecx, ecx
jne 0x100cdd5f
push ecx
push ecx
lea ecx, [ebp - 0x3a0]
call fcn.100cc726
mov byte [ebp - 4], 7
mov ecx, ebx
mov dword [ebp - 0xc0], 0x67367922
mov esi, ebx
mov dword [ebp - 0xbc], 0x50072d16
mov dword [ebp - 0xb8], 0x74176c18
mov dword [ebp - 0xb4], 0x65467b29
mov dword [ebp - 0xb0], 0x721b8834
mov dword [ebp - 0xac], 0x660a5647
mov dword [ebp - 0xa8], 0x7a0f453f
mov dword [ebp - 0xa4], 0x872f8c0d
mov dword [ebp - 0xa0], 0x764b6603
mov dword [ebp - 0x9c], 0x8841450b
mov dword [ebp - 0x98], 0x80498f20
mov dword [ebp - 0x94], 0x94239635
mov dword [ebp - 0x90], 0x87055d39
mov dword [ebp - 0x8c], 0xab375e44
mov dword [ebp - 0x88], 0x5b15a138
mov dword [ebp - 0x84], 0xae3d9e43
mov dword [ebp - 0x80], 0xb53ea230
mov dword [ebp - 0x7c], 0x4110ae21
mov dword [ebp - 0x78], 0x6c81dbe6
mov dword [ebp - 0x74], 0xf79a6dc2
mov dword [ebp - 0x70], 0x104bfbe5
mov dword [ebp - 0x6c], 0xaa27c953
mov dword [ebp - 0x68], 0xaa2e9d09
mov dword [ebp - 0x64], 0x7b1fc031
mov dword [ebp - 0x60], 0xa101ba26
mov dword [ebp - 0x5c], 0xa508c313
mov dword [ebp - 0x58], 0xae02c71a
mov dword [ebp - 0x54], 0xd11dc92d
mov dword [ebp - 0x50], 0xd742d012
mov dword [ebp - 0x4c], 0x9333cd32
mov dword [ebp - 0x48], 0xe02bcd24
mov dword [ebp - 0x44], 0xd340d93c
mov dword [ebp - 0x40], 0xe614dd1e
mov dword [ebp - 0x3c], 0xc348d811
mov dword [ebp - 0x38], 0xea19eb2c
mov dword [ebp - 0x34], 0xd104e610
mov dword [ebp - 0x30], 0xa306a145
mov dword [ebp - 0x2c], 0xf40ce425
mov dword [ebp - 0x28], 0xfa3bd200
mov dword [ebp - 0x24], 0x90ef03a
mov dword [ebp - 0x20], 0x228f02a
mov dword [ebp - 0x1c], 0xc1cda4a
cmp ecx, 0x46
jne 0x100cd9c2
push 0x10
pop esi
add ecx, 0xe
jmp 0x100cd9f4
movzx eax, byte [ebp + ecx - 0xbf]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cd9e5
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 - 0x188], dl
add ecx, 2
cmp ecx, 0xa8
jb 0x100cd9b5
lea eax, [ebp - 0x188]
mov byte [ebp - 0x13c], bl
push eax
lea ecx, [ebp - 0x104]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x390]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 7
call fcn.100170c9
push 0x4d
lea eax, [ebp - 0x188]
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov dword [ebp - 0x110], 0x2c0a2d08
mov dword [ebp - 0x10c], 0x46095106
mov ecx, ebx
mov dword [ebp - 0x108], 0x3c013503
mov esi, ebx
mov dword [ebp - 0x104], 0x5b074302
mov dword [ebp - 0x100], 0x860d6605
mov dword [ebp - 0xfc], 0xe0e2bc49
mov dword [ebp - 0xf8], 0x3dcfe2c7
mov dword [ebp - 0xf4], 0x775b87
mov word [ebp - 0xf0], 0x43f
mov byte [ebp - 0xee], 0x63
cmp ecx, 0x12
jne 0x100cdabd
push 0xd
pop esi
add ecx, 0xb
jmp 0x100cdaef
movzx eax, byte [ebp + ecx - 0x10f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cdae0
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x110]
mov byte [ebp + eax - 0x200], dl
add ecx, 2
cmp ecx, 0x23
jb 0x100cdab0
lea eax, [ebp - 0x200]
mov byte [ebp - 0x1f5], bl
push eax
lea ecx, [ebp - 0x1f4]
call fcn.1001c44c
mov byte [ebp - 4], 9
lea edi, [ebp - 0x200]
mov esi, dword [ebp - 0xdc]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov al, 1
test al, al
jne 0x100cdb3e
push dword [ebp - 0x120]
lea eax, [ebp - 0x390]
push eax
call fcn.10023230
pop ecx
pop ecx
push dword [ebp - 0x120]
mov eax, dword [esi]
push ecx
push dword [ebp - 0xd0]
mov byte [ebp - 0xd], bl
mov edi, dword [eax]
lea ebx, [eax + 0x64]
push ecx
push dword [ebp - 0xd0]
lea eax, [ebp - 0x390]
push ecx
push dword [ebp - 0x12c]
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
pop ecx
pop ecx
mov edx, ebx
mov ecx, eax
call fcn.10023410
lea edx, [ebp - 0x1f4]
mov ecx, eax
call fcn.10023410
mov al, byte [ebp - 0xd]
add esi, 4
push 0
pop ebx
cmp esi, dword [ebp - 0xd8]
jne 0x100cdb26
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x3a0]
call fcn.100cc7ce
push ebx
lea eax, [ebp - 0x1b8]
mov byte [ebp - 4], 0xa
push eax
push 2
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xcc], ebx
push eax
push ebx
mov dword [ebp - 0xc4], 4
call fcn.100d5716
mov ecx, dword [ebp - 0x1b8]
add esp, 0x14
test ecx, ecx
je 0x100cdd2c
cmp dword [ebp - 0x1bc], 0x10
lea edx, [ebp - 0xcc]
push ebx
push edx
lea eax, [ebp - 0x1d0]
cmovae eax, dword [ebp - 0x1d0]
push 0xffffffffffffffff
push eax
push dword [ebp - 0xe4]
call ecx
add esp, 0x14
test eax, eax
jne 0x100cdd2c
cmp dword [ebp - 0xcc], ebx
je 0x100cdd2c
mov esi, dword [ebp - 0xdc]
xor edi, edi
inc edi
push ebx
lea eax, [ebp - 0x128]
mov dword [ebp - 0xc4], 4
push eax
push 0xf
lea eax, [ebp - 0xc4]
push eax
push ebx
call fcn.100d5716
mov edx, dword [ebp - 0x128]
add esp, 0x14
test edx, edx
je 0x100cdcbd
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 edi
push dword [ebp - 0xcc]
call edx
add esp, 0x14
inc edi
test eax, eax
jne 0x100cdcbd
add esi, 4
cmp esi, dword [ebp - 0xd8]
jne 0x100cdc59
jmp 0x100cdcc0
or edi, 0xffffffff
test edi, edi
jle 0x100cdcfb
push ebx
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xc4], 4
push eax
push 4
lea eax, [ebp - 0xc4]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0xe0]
add esp, 0x14
test eax, eax
je 0x100cdcfb
push dword [ebp - 0xcc]
call eax
pop ecx
push ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0xc4], 4
push eax
push 5
lea eax, [ebp - 0xc4]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x14]
add esp, 0x14
test eax, eax
je 0x100cdd2c
push dword [ebp - 0xcc]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1d0]
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x1f4]
call fcn.100170c9
lea ecx, [ebp - 0x3a0]
call fcn.100cc61a
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc8]
mov byte [ebp - 4], 4
test eax, eax
je 0x100cdd86
push eax
call fcn.10120696
pop ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
inc ecx
mov dword [ebp - 0xc8], ecx
cmp ecx, 2
jl 0x100cd63d
jmp 0x100cdda7
mov byte [ebp - 4], 4
test eax, eax
je 0x100cdda7
push eax
call fcn.10120696
pop ecx
mov dword [ebp - 0x98], 0x7d11602f
mov ecx, ebx
mov dword [ebp - 0x94], 0x270e4234
mov esi, ebx
mov dword [ebp - 0x90], 0x50037b2d
mov dword [ebp - 0x8c], 0x781b822c
mov dword [ebp - 0x88], 0x72185623
mov dword [ebp - 0x84], 0x76127a2a
mov dword [ebp - 0x80], 0x6a0c9019
mov dword [ebp - 0x7c], 0x8f273d20
mov dword [ebp - 0x78], 0x8b308d2e
mov dword [ebp - 0x74], 0x861a6a01
mov dword [ebp - 0x70], 0x980f4926
mov dword [ebp - 0x6c], 0x77224d09
mov dword [ebp - 0x68], 0x8a21a417
mov dword [ebp - 0x64], 0x9e15a41d
mov dword [ebp - 0x60], 0x5b06a207
mov dword [ebp - 0x5c], 0x92009c2b
mov dword [ebp - 0x58], 0x900d870a
mov dword [ebp - 0x54], 0xb713a631
mov dword [ebp - 0x50], 0xb333aa28
mov dword [ebp - 0x4c], 0xb014c032
mov dword [ebp - 0x48], 0xa705c010
mov dword [ebp - 0x44], 0xa3029a25
mov dword [ebp - 0x40], 0xc229ab24
mov dword [ebp - 0x3c], 0xc308c01c
mov dword [ebp - 0x38], 0x72cbcb12
mov dword [ebp - 0x34], 0x686ebc74
mov dword [ebp - 0x30], 0x6e12ab3b
mov dword [ebp - 0x2c], 0x4054a793
mov dword [ebp - 0x28], 0xa4046499
mov dword [ebp - 0x24], 0xb70bd61f
mov dword [ebp - 0x20], 0xce16d51e
cmp ecx, 0x60
jne 0x100cdea3
push 0x12
pop esi
push 0x70
pop ecx
jmp 0x100cded5
movzx eax, byte [ebp + ecx - 0x97]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cdec6
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x98]
mov byte [ebp + eax - 0x2f0], dl
add ecx, 2
cmp ecx, 0x7c
jb 0x100cde96
lea eax, [ebp - 0x2f0]
mov byte [ebp - 0x2bb], bl
push eax
lea ecx, [ebp - 0x230]
call fcn.1001c44c
push 0x36
lea eax, [ebp - 0x2f0]
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov dword [ebp - 0xcc], ebx
mov ecx, ebx
mov eax, ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd4], ebx
mov edx, dword [ebp + 8]
mov byte [ebp - 4], 0xc
mov esi, dword [edx]
mov edi, dword [edx + 4]
cmp esi, edi
je 0x100ce3d6
mov dword [ebp - 0x1b4], esi
cmp dword [esi + 0x98], ebx
jge 0x100ce0b8
lea eax, [esi + 0x7c]
push eax
lea edx, [ebp - 0x230]
lea ecx, [ebp - 0x1d0]
call fcn.10038746
pop ecx
push ebx
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0xd
push eax
push 2
lea eax, [ebp - 0x14]
mov dword [ebp - 0xc8], ebx
push eax
push ebx
mov dword [ebp - 0x14], 4
call fcn.100d5716
mov ecx, dword [ebp - 0xe0]
add esp, 0x14
test ecx, ecx
je 0x100ce0a0
cmp dword [ebp - 0x1bc], 0x10
lea edx, [ebp - 0xc8]
push ebx
push edx
lea eax, [ebp - 0x1d0]
cmovae eax, dword [ebp - 0x1d0]
push 0xffffffffffffffff
push eax
push dword [ebp - 0xe4]
call ecx
add esp, 0x14
test eax, eax
jne 0x100ce0a0
cmp dword [ebp - 0xc8], eax
je 0x100ce0a0
push 4
pop eax
push ebx
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x14], eax
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x128]
add esp, 0x14
test eax, eax
je 0x100ce06f
push dword [ebp - 0xc8]
call eax
pop ecx
cmp eax, 0x64
jne 0x100ce06f
push ebx
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x14], 4
push eax
push 8
lea eax, [ebp - 0x14]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x1b8]
add esp, 0x14
test eax, eax
je 0x100ce040
push ebx
push dword [ebp - 0xc8]
call eax
pop ecx
pop ecx
mov dword [esi + 0x98], eax
mov edx, dword [esi + 0x98]
test edx, edx
js 0x100ce06f
lea ecx, [ebp - 0x104]
call fcn.1002a287
push eax
lea ecx, [esi + 0xb8]
call fcn.100360e4
push ebx
push 1
lea ecx, [ebp - 0x104]
call fcn.100170c9
push ebx
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x14], 4
push eax
push 5
lea eax, [ebp - 0x14]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0xc4]
add esp, 0x14
test eax, eax
je 0x100ce0a0
push dword [ebp - 0xc8]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 0xc
call fcn.100170c9
mov ecx, dword [ebp - 0xcc]
test ecx, ecx
jne 0x100ce0dc
cmp dword [esi + 0x98], ebx
jge 0x100ce0dc
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0xdc]
call fcn.100b6ec6
mov ecx, dword [ebp - 0xcc]
add esi, 0xe8
cmp esi, edi
jne 0x100cdf37
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xd8]
je 0x100ce3d6
test ecx, ecx
jne 0x100ce39d
push ecx
push ecx
lea ecx, [ebp - 0x450]
call fcn.100cc726
mov byte [ebp - 4], 0xe
mov ecx, ebx
mov dword [ebp - 0x98], 0x230b4d39
mov esi, ebx
mov dword [ebp - 0x94], 0x771f6620
mov dword [ebp - 0x90], 0x77265207
mov dword [ebp - 0x8c], 0x7422801c
mov dword [ebp - 0x88], 0x852e702c
mov dword [ebp - 0x84], 0x7a197611
mov dword [ebp - 0x80], 0x703a6c3c
mov dword [ebp - 0x7c], 0x75376c0a
mov dword [ebp - 0x78], 0x8215882a
mov dword [ebp - 0x74], 0x8832912f
mov dword [ebp - 0x70], 0x8a309e2d
mov dword [ebp - 0x6c], 0xa6169531
mov dword [ebp - 0x68], 0x53369934
mov dword [ebp - 0x64], 0x571da510
mov dword [ebp - 0x60], 0x5b068200
mov dword [ebp - 0x5c], 0xae1a651e
mov dword [ebp - 0x58], 0x6c358603
mov dword [ebp - 0x54], 0xac139308
mov dword [ebp - 0x50], 0x99018a38
mov dword [ebp - 0x4c], 0xa309ac23
mov dword [ebp - 0x48], 0xcd0ec00d
mov dword [ebp - 0x44], 0xc925b40f
mov dword [ebp - 0x40], 0xba17c218
mov dword [ebp - 0x3c], 0xb305a23b
mov dword [ebp - 0x38], 0xd00cb402
mov dword [ebp - 0x34], 0xc829d814
mov dword [ebp - 0x30], 0xdb28dc33
mov dword [ebp - 0x2c], 0xd42b9927
mov dword [ebp - 0x28], 0xe824df1b
mov dword [ebp - 0x24], 0x12c70401
mov word [ebp - 0x20], 0x21de
mov byte [ebp - 0x1e], 0xe0
cmp ecx, 0x74
jne 0x100ce214
xor esi, esi
push 0x73
inc esi
pop ecx
jmp 0x100ce246
movzx eax, byte [ebp + ecx - 0x97]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ce237
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x98]
mov byte [ebp + eax - 0x178], dl
add ecx, 2
cmp ecx, 0x7b
jb 0x100ce207
lea eax, [ebp - 0x178]
mov byte [ebp - 0x13b], bl
push eax
lea ecx, [ebp - 0x104]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x440]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0xe
call fcn.100170c9
push 0x3e
lea eax, [ebp - 0x178]
push ebx
push eax
call fcn.101209c0
mov esi, dword [ebp - 0xdc]
add esp, 0xc
mov al, 1
test al, al
jne 0x100ce2bb
push dword [ebp - 0x120]
lea eax, [ebp - 0x440]
push eax
call fcn.10023230
pop ecx
pop ecx
push dword [ebp - 0x134]
mov eax, dword [esi]
push ecx
push dword [ebp - 0x120]
mov byte [ebp - 0xd], bl
mov edi, dword [eax]
lea ebx, [eax + 0x7c]
push ecx
push dword [ebp - 0xd0]
lea eax, [ebp - 0x440]
push ecx
push dword [ebp - 0xd0]
push ecx
push dword [ebp - 0x12c]
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
mov edx, ebx
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
mov al, byte [ebp - 0xd]
add esi, 4
pop ecx
pop ecx
push 0
pop ebx
cmp esi, dword [ebp - 0xd8]
jne 0x100ce2a3
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x450]
call fcn.100cc7ce
push 0x409
lea eax, [ebp - 0x1f4]
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0xe4]
xor cl, cl
push eax
push 0x79b1
call fcn.100cd27c
add esp, 0xc
lea ecx, [ebp - 0x1f4]
push ebx
push 1
call fcn.100170c9
lea ecx, [ebp - 0x450]
call fcn.100cc61a
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xcc]
mov byte [ebp - 4], 0xb
test eax, eax
je 0x100ce3c4
push eax
call fcn.10120696
pop ecx
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
inc ecx
mov dword [ebp - 0xcc], ecx
cmp ecx, 2
jl 0x100cdf0f
jmp 0x100ce3e5
mov byte [ebp - 4], 0xb
test eax, eax
je 0x100ce3e5
push eax
call fcn.10120696
pop ecx
push ecx
push ecx
lea ecx, [ebp - 0x500]
call fcn.100cc726
mov byte [ebp - 4], 0x11
mov ecx, ebx
mov dword [ebp - 0xb0], 0x62227123
mov esi, ebx
mov dword [ebp - 0xac], 0x682b2d29
mov dword [ebp - 0xa8], 0x7e277025
mov dword [ebp - 0xa4], 0x61046002
mov dword [ebp - 0xa0], 0x650e701f
mov dword [ebp - 0x9c], 0x37097436
mov dword [ebp - 0x98], 0x8a218237
mov dword [ebp - 0x94], 0x753b6b0c
mov dword [ebp - 0x90], 0x91358538
mov dword [ebp - 0x8c], 0xa1189417
mov dword [ebp - 0x88], 0x98167d05
mov dword [ebp - 0x84], 0x7e079b1d
mov dword [ebp - 0x80], 0x53065110
mov dword [ebp - 0x7c], 0xa72a7a3f
mov dword [ebp - 0x78], 0x840a9a24
mov dword [ebp - 0x74], 0x88115d15
mov dword [ebp - 0x70], 0x9214b520
mov dword [ebp - 0x6c], 0xba1e653a
mov dword [ebp - 0x68], 0x3819c312
mov dword [ebp - 0x64], 0xdfc36228
mov dword [ebp - 0x60], 0xcdffb67f
mov dword [ebp - 0x5c], 0x19080318
mov dword [ebp - 0x58], 0xae2dc73b
mov dword [ebp - 0x54], 0xb42ca03e
mov dword [ebp - 0x50], 0xa440a108
mov dword [ebp - 0x4c], 0xb419a713
mov dword [ebp - 0x48], 0xa712ba33
mov dword [ebp - 0x44], 0xcc34a00f
mov dword [ebp - 0x40], 0xad3d7f28
mov dword [ebp - 0x3c], 0xce32aa0b
mov dword [ebp - 0x38], 0xc82ed61c
mov dword [ebp - 0x34], 0x99319439
mov dword [ebp - 0x30], 0xd41bd426
mov dword [ebp - 0x2c], 0xd930bc00
mov dword [ebp - 0x28], 0xe21ae02f
mov dword [ebp - 0x24], 0xbe3cca0d
mov dword [ebp - 0x20], 0xcf01c403
cmp ecx, 0x48
jne 0x100ce52e
push 0x12
pop esi
push 0x58
pop ecx
jmp 0x100ce560
movzx eax, byte [ebp + ecx - 0xaf]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ce551
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 - 0x180], dl
add ecx, 2
cmp ecx, 0x94
jb 0x100ce521
lea eax, [ebp - 0x180]
mov byte [ebp - 0x13f], bl
push eax
lea ecx, [ebp - 0x104]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x4f0]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0x11
call fcn.100170c9
push 0x42
lea eax, [ebp - 0x180]
push ebx
push eax
call fcn.101209c0
mov ecx, dword [ebp + 8]
add esp, 0xc
mov al, bl
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
cmp esi, edi
je 0x100ce6a0
cmp dword [esi + 0x94], ebx
jl 0x100ce649
cmp dword [esi + 0x98], ebx
jl 0x100ce649
test al, al
je 0x100ce5f2
push dword [ebp - 0x120]
lea eax, [ebp - 0x4f0]
push eax
call fcn.10023230
pop ecx
pop ecx
push dword [ebp - 0x134]
lea eax, [ebp - 0x4f0]
mov byte [ebp - 0xd], 1
push ecx
push dword [ebp - 0x120]
push ecx
push dword [ebp - 0x12c]
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [esi + 0xb8]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [esi + 0xa0]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
mov al, byte [ebp - 0xd]
xor ebx, ebx
pop ecx
pop ecx
add esi, 0xe8
cmp esi, edi
jne 0x100ce5ca
test al, al
je 0x100ce6a0
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x500]
call fcn.100cc7ce
push 0x30de
lea eax, [ebp - 0x1f4]
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0xe4]
xor cl, cl
push eax
push 0x2bd9
call fcn.100cd27c
add esp, 0xc
lea ecx, [ebp - 0x1f4]
push ebx
push 1
call fcn.100170c9
lea ecx, [ebp - 0x500]
mov byte [ebp - 4], 0xb
call fcn.100cc61a
push ebx
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x14], 4
push eax
push 6
lea eax, [ebp - 0x14]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0xe0]
add esp, 0x14
test eax, eax
je 0x100ce6e0
push dword [ebp - 0xe4]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x230]
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x248]
call fcn.100170c9
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x124]
test esi, esi
je 0x100ce718
mov ecx, esi
call fcn.1005cb9c
push esi
call fcn.10120696
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x218]
call fcn.10014448
jmp 0x100ce7e5
push 4
pop ebx
xor esi, esi
mov dword [ebp - 0x124], ebx
push esi
lea eax, [ebp - 0x14]
mov dword [ebp - 0xd0], esi
push eax
push 2
lea eax, [ebp - 0x124]
push eax
push esi
call fcn.100d5716
mov ecx, dword [ebp - 0x14]
add esp, 0x14
test ecx, ecx
je 0x100ce7e5
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x14], 0x10
jb 0x100ce769
mov eax, dword [eax]
push esi
lea edx, [ebp - 0xd0]
push edx
push 0xffffffffffffffff
push eax
push edi
call ecx
add esp, 0x14
test eax, eax
jne 0x100ce7e5
cmp dword [ebp - 0xd0], esi
je 0x100ce7e5
push esi
lea eax, [ebp - 0x14]
mov dword [ebp - 0x124], ebx
push eax
push ebx
lea eax, [ebp - 0x124]
push eax
push esi
call fcn.100d5716
mov eax, dword [ebp - 0x14]
add esp, 0x14
test eax, eax
je 0x100ce7b2
push dword [ebp - 0xd0]
call eax
pop ecx
push esi
lea eax, [ebp - 0x128]
mov dword [ebp - 0xe0], ebx
push eax
push 5
lea eax, [ebp - 0xe0]
push eax
push esi
call fcn.100d5716
mov eax, dword [ebp - 0x128]
add esp, 0x14
test eax, eax
je 0x100ce7e5
push dword [ebp - 0xd0]
call eax
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret