Function at 0x10040850
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100978b6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x420
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x58], edi
mov dword [ebp - 4], 0
mov dword [ebp - 0x98], 0
push 0x1d
mov dword [ebp - 0x94], 0
push 0x1002f0f4
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0xf
mov byte [ebp - 0x94], 0
call fcn.1003ae40
mov dword [ebp - 4], 1
mov ecx, edi
push 0x15
mov dword [edi], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
push 0x1002f114
mov byte [edi], 0
call fcn.1003ae40
push 4
mov dword [ebp - 0x290], 0
lea ecx, [ebp - 0x290]
push 0x1002f12c
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0xf
mov byte [ebp - 0x290], 0
call fcn.1003ae40
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x278]
push 0xa
mov dword [ebp - 0x278], 0
push 0x1002f134
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0xf
mov byte [ebp - 0x278], 0
call fcn.1003ae40
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x260]
push 0xa
mov dword [ebp - 0x260], 0
push 0x1002f140
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
call fcn.1003ae40
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x248]
push 0xa
mov dword [ebp - 0x248], 0
push 0x1002f14c
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.1003ae40
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x230]
push 6
mov dword [ebp - 0x230], 0
push 0x1002f158
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.1003ae40
mov byte [ebp - 4], 6
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0xf
mov byte [ebp - 0x218], 0
push 0x1e
push 0x1002f160
lea ecx, [ebp - 0x218]
call fcn.1003ae40
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x200]
push 2
mov dword [ebp - 0x200], 0
push 0x1002f180
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0xf
mov byte [ebp - 0x200], 0
call fcn.1003ae40
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1e8]
push 0x1a
mov dword [ebp - 0x1e8], 0
push 0x1002f184
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0xf
mov byte [ebp - 0x1e8], 0
call fcn.1003ae40
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1d0]
push 0xa
mov dword [ebp - 0x1d0], 0
push 0x1002f1a0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
call fcn.1003ae40
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1b8]
push 8
mov dword [ebp - 0x1b8], 0
push 0x1002f1ac
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
call fcn.1003ae40
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1a0]
push 0x14
mov dword [ebp - 0x1a0], 0
push 0x1002f1b8
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
call fcn.1003ae40
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x188]
push 0x10
mov dword [ebp - 0x188], 0
push 0x1002f1d0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
call fcn.1003ae40
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0xd
push ecx
lea eax, [ebp - 0x170]
push eax
push ecx
lea ecx, [ebp - 0x7c]
call fcn.100785e0
push 0x1003adf0
push 0xc
push 0x18
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0xf
push eax
call fcn.10079b58
push 0xf
mov dword [ebp - 0x428], 0
lea ecx, [ebp - 0x428]
push 0x1002f1e4
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x414], 0xf
mov byte [ebp - 0x428], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x410]
push 0x1f
mov dword [ebp - 0x410], 0
push 0x1002f1f4
mov dword [ebp - 0x400], 0
mov dword [ebp - 0x3fc], 0xf
mov byte [ebp - 0x410], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3f8]
push 0x26
mov dword [ebp - 0x3f8], 0
push 0x1002f214
mov dword [ebp - 0x3e8], 0
mov dword [ebp - 0x3e4], 0xf
mov byte [ebp - 0x3f8], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3e0]
push 0x1e
mov dword [ebp - 0x3e0], 0
push 0x1002f23c
mov dword [ebp - 0x3d0], 0
mov dword [ebp - 0x3cc], 0xf
mov byte [ebp - 0x3e0], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3c8]
push 0x1d
mov dword [ebp - 0x3c8], 0
push 0x1002f25c
mov dword [ebp - 0x3b8], 0
mov dword [ebp - 0x3b4], 0xf
mov byte [ebp - 0x3c8], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x3b0]
push 0x1c
mov dword [ebp - 0x3b0], 0
push 0x1002f27c
mov dword [ebp - 0x3a0], 0
mov dword [ebp - 0x39c], 0xf
mov byte [ebp - 0x3b0], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x398]
push 0x1a
mov dword [ebp - 0x398], 0
push 0x1002f29c
mov dword [ebp - 0x388], 0
mov dword [ebp - 0x384], 0xf
mov byte [ebp - 0x398], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x380]
push 0xe
mov dword [ebp - 0x380], 0
push 0x1002f2b8
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x36c], 0xf
mov byte [ebp - 0x380], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x17
push 5
mov dword [ebp - 0x368], 0
lea ecx, [ebp - 0x368]
push 0x1002f2c8
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x354], 0xf
mov byte [ebp - 0x368], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x350]
push 0x11
mov dword [ebp - 0x350], 0
push 0x1002f2d0
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x33c], 0xf
mov byte [ebp - 0x350], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x338]
push 8
mov dword [ebp - 0x338], 0
push 0x1002f2e4
mov dword [ebp - 0x328], 0
mov dword [ebp - 0x324], 0xf
mov byte [ebp - 0x338], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x320]
push 0x14
mov dword [ebp - 0x320], 0
push 0x1002f2f0
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x30c], 0xf
mov byte [ebp - 0x320], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x308]
push 0x24
mov dword [ebp - 0x308], 0
push 0x1002f308
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0xf
mov byte [ebp - 0x308], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2f0]
push 0x17
mov dword [ebp - 0x2f0], 0
push 0x1002f330
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 0xf
mov byte [ebp - 0x2f0], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x2d8]
push 6
mov dword [ebp - 0x2d8], 0
push 0x1002f348
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0xf
mov byte [ebp - 0x2d8], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2c0]
push 4
mov dword [ebp - 0x2c0], 0
push 0x1002f350
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0xf
mov byte [ebp - 0x2c0], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x2a8], 0
push 0xb
push 0x1002f358
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0xf
mov byte [ebp - 0x2a8], 0
call fcn.1003ae40
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 0x20
push ecx
lea eax, [ebp - 0x290]
push eax
push ecx
lea ecx, [ebp - 0x70]
call fcn.100785e0
push 0x1003adf0
push 0x11
push 0x18
lea eax, [ebp - 0x428]
mov byte [ebp - 4], 0x22
push eax
call fcn.10079b58
push 0x16
mov dword [ebp - 0x170], 0
lea ecx, [ebp - 0x170]
push 0x1002f364
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x158]
push 8
mov dword [ebp - 0x158], 0
push 0x1002f37c
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x140]
push 5
mov dword [ebp - 0x140], 0
push 0x1002f388
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x128]
push 3
mov dword [ebp - 0x128], 0
push 0x1002f390
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x110]
push 0xa
mov dword [ebp - 0x110], 0
push 0x1002f394
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0xf
mov byte [ebp - 0x110], 0
call fcn.1003ae40
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x27
push ecx
lea eax, [ebp - 0xf8]
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.100785e0
push 0x1003adf0
push 5
push 0x18
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x29
push eax
call fcn.10079b58
push 0x12
mov dword [ebp - 0xf8], 0
lea ecx, [ebp - 0xf8]
push 0x1002f3a0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0xf
mov byte [ebp - 0xf8], 0
call fcn.1003ae40
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xe0]
push 0x27
mov dword [ebp - 0xe0], 0
push 0x1002f3b4
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], 0
call fcn.1003ae40
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x2b
push ecx
lea eax, [ebp - 0xc8]
push eax
push ecx
lea ecx, [ebp - 0x64]
call fcn.100785e0
push 0x1003adf0
push 2
push 0x18
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x2d
push eax
call fcn.10079b58
mov ecx, dword [0x100027a0]
mov esi, 0x141e8
mov ebx, dword [0x100027a4]
mov edx, edi
xor ebx, dword [0x100027ac]
sar esi, cl
mov ecx, 0x1009d0d0
call fcn.10078b00
movzx edi, al
cmp esi, ebx
mov eax, 1
mov edx, 0x1009d1f4
mov ecx, 0x1009d224
cmovg edi, eax
call fcn.10078b00
movzx eax, al
cmp edi, eax
jae 0x100412b3
push 3
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x1002f3dc
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.1003ae40
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x2d
mov byte [eax], 0
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x100412b3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100412a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b84
push edx
push ecx
call fcn.10079b22
add esp, 8
push dword [ebp - 0x58]
mov ecx, 0x1009d164
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
call fcn.10078c90
sub esp, 0xc
push 0x1009d134
sub esp, 0x3c
call fcn.1003f9c0
add esp, 0x4c
mov esi, eax
push 0x24d3
call fcn.1008048f
add eax, dword [0x10002788]
add esp, 4
mov ecx, dword [0x1009d168]
add eax, esi
mov esi, dword [0x1009d164]
xor ebx, ebx
mov dword [ebp - 0x54], eax
sub ecx, esi
mov dword [0x10002788], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1004138f
xor edi, edi
nop dword [eax]
lea eax, [edi + esi]
push eax
lea ecx, [ebp - 0x40]
call fcn.1003d520
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x10041360
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10041356
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b84
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d168]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d164]
inc ebx
sub ecx, esi
add edi, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10041320
mov eax, dword [0x10002788]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x80], 0x10
lea ecx, [ebp - 0x94]
mov ebx, dword [ebp - 0x94]
mov edx, 0x1009d1d0
mov edi, dword [0x1009d1e0]
cmovae ecx, ebx
cmp dword [0x1009d1e4], 0x10
mov esi, dword [ebp - 0x84]
cmovae edx, dword [0x1009d1d0]
cmp edi, esi
jne 0x10041427
sub edi, 4
jb 0x100413e1
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x100413e6
add edx, 4
add ecx, 4
sub edi, 4
jae 0x100413d0
cmp edi, 0xfffffffc
je 0x1004141a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x10041413
cmp edi, 0xfffffffd
je 0x1004141a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x10041413
cmp edi, 0xfffffffe
je 0x1004141a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x10041413
cmp edi, 0xffffffff
je 0x1004141a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x1004141a
sbb eax, eax
or eax, 1
jmp 0x1004141c
xor eax, eax
mov dword [ebp - 0x10], 0
test eax, eax
je 0x1004142e
mov dword [ebp - 0x10], 1
cmp dword [0x1009d130], 0x10
lea edx, [ebp - 0x94]
mov ecx, 0x1009d11c
cmovae ecx, dword [0x1009d11c]
cmp dword [ebp - 0x80], 0x10
cmovae edx, ebx
cmp esi, dword [0x1009d12c]
jne 0x100414b7
sub esi, 4
jb 0x10041471
nop dword [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x10041476
add edx, 4
add ecx, 4
sub esi, 4
jae 0x10041460
cmp esi, 0xfffffffc
je 0x100414aa
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x100414a3
cmp esi, 0xfffffffd
je 0x100414aa
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x100414a3
cmp esi, 0xfffffffe
je 0x100414aa
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x100414a3
cmp esi, 0xffffffff
je 0x100414aa
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x100414aa
sbb eax, eax
or eax, 1
jmp 0x100414ac
xor eax, eax
mov dword [ebp - 0x50], 1
test eax, eax
je 0x100414be
mov dword [ebp - 0x50], 0
mov ecx, dword [0x100027a4]
xor esi, esi
mov edx, dword [0x100027b0]
mov eax, dword [0x1000278c]
xor edx, ecx
shl eax, cl
cmp eax, edx
mov eax, dword [0x100027a0]
cmovge esi, dword [ebp - 0x50]
xor ecx, ecx
add eax, dword [0x100027b0]
and esi, dword [ebp - 0x10]
cmp esi, eax
setl cl
imul eax, dword [0x100027ac], 0x12866
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [0x10002790]
setg dl
sar eax, cl
cmp edx, eax
jl 0x100416b8
cmp dword [0x1009d21c], 0xd
jae 0x100416b8
lea eax, [ebp - 0x94]
mov edx, 0x1009d134
push eax
lea ecx, [ebp - 0xc8]
call fcn.100789e0
add esp, 4
push 0x1009d0d0
mov edx, eax
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x40]
call fcn.10078930
add esp, 4
push 0x1009d0e8
mov edx, eax
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0xb0]
call fcn.10078930
add esp, 4
push 0x1009d0b8
mov edx, eax
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x28]
call fcn.10078930
add esp, 4
mov ecx, 0x1009d20c
push eax
call fcn.1003b590
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x100415bf
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100415b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b75
push edx
push ecx
call fcn.10079b22
add esp, 8
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x1004160f
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10041605
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b75
push edx
push ecx
call fcn.10079b22
add esp, 8
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
cmp edx, 0x10
jb 0x10041662
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10041658
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b75
push edx
push ecx
call fcn.10079b22
add esp, 8
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x100416b2
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100416a8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b75
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ebx, dword [ebp - 0x94]
mov edx, dword [0x1009d098]
push ecx
mov ecx, dword [0x1009d094]
call fcn.1003b800
mov eax, dword [0x1009d094]
mov edx, dword [0x1009d074]
mov ecx, dword [0x1009d070]
mov dword [0x1009d098], eax
call fcn.1003b800
mov eax, dword [0x1009d070]
add esp, 4
cmp dword [0x1009d15c], 0xab
mov dword [0x1009d074], eax
jae 0x100417bf
push 0x1009d1d0
mov edx, 0x1009d188
lea ecx, [ebp - 0xc8]
call fcn.100789e0
add esp, 4
push 0x1009d20c
mov edx, eax
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x40]
call fcn.10078930
add esp, 4
mov ecx, 0x1009d14c
push eax
call fcn.1003b590
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x1004176f
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10041765
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b7a
push edx
push ecx
call fcn.10079b22
add esp, 8
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x100417bf
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100417b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b7a
push edx
push ecx
call fcn.10079b22
add esp, 8
sub esp, 0xc
push 0x1009d224
sub esp, 0x3c
call fcn.1003f9c0
sub dword [0x1000278c], eax
add esp, 0x4c
cmp dword [0x1009d198], 0x70
jae 0x10041968
push 0x1009d0a0
mov edx, 0x1009d0e8
lea ecx, [ebp - 0xc8]
call fcn.100789e0
add esp, 4
push 0x1009d170
mov edx, eax
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x28]
call fcn.10078930
add esp, 4
push 0x1009d11c
mov edx, eax
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xb0]
call fcn.10078930
add esp, 4
push 0x1009d20c
mov edx, eax
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x40]
call fcn.10078930
add esp, 4
mov ecx, 0x1009d188
push eax
call fcn.1003b590
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x10041881
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10041877
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b7f
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x100418cd
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100418c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b7f
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
cmp edx, 0x10
jb 0x1004191c
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10041912
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b7f
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x10041968
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004195e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b7f
push edx
push ecx
call fcn.10079b22
add esp, 8
push 0xc15
call fcn.1008048f
mov ecx, dword [ebp - 0x64]
add esp, 4
mov dword [0x100027ac], eax
test ecx, ecx
je 0x100419e9
mov edx, dword [ebp - 0x60]
push ecx
call fcn.1003b800
mov ecx, dword [ebp - 0x5c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x64]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x100419ca
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b84
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x10041a58
mov edx, dword [ebp - 0x48]
push ecx
call fcn.1003b800
mov ecx, dword [ebp - 0x44]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x4c]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10041a39
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b84
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x10041ac7
mov edx, dword [ebp - 0x6c]
push ecx
call fcn.1003b800
mov ecx, dword [ebp - 0x68]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x70]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10041aa8
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b84
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x10041b32
mov edx, dword [ebp - 0x78]
push ecx
call fcn.1003b800
mov ecx, dword [ebp - 0x74]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x7c]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10041b13
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b84
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x80]
cmp eax, 0x10
jb 0x10041b61
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x10041b57
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b84
push ecx
push ebx
call fcn.10079b22
add esp, 8
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
int3