Function at 0x1039ffb0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x104252e8
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x104c5878]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x310], ecx
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x2e0], 0
mov ecx, dword [0x104cc18c]
mov dword [ebp - 0x308], eax
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x2f4], ebx
mov dword [ebp - 0x2f0], esi
mov dword [ebp - 0x304], edi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x314], eax
mov ecx, eax
mov eax, dword [0x104cd450]
cmp eax, dword [ecx + 4]
jle 0x103a00d8
push 0x104cd450
call fcn.103b6558
add esp, 4
cmp dword [0x104cd450], 0xffffffff
jne 0x103a00d2
mov dword [ebp - 4], 0
mov dword [0x104cd5a0], 0
mov dword [0x104cd5a4], 0
mov byte [ebp - 4], 1
mov dword [0x104cd5a8], 0
mov dword [0x104cd5a0], 0
mov dword [0x104cd5a4], 0
mov byte [ebp - 4], 0
push 0x10429f80
call fcn.103b6c91
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x104cd450
call fcn.103b650e
add esp, 4
mov ecx, dword [ebp - 0x314]
mov eax, dword [0x104cd468]
cmp eax, dword [ecx + 4]
jle 0x103a0163
push 0x104cd468
call fcn.103b6558
add esp, 4
cmp dword [0x104cd468], 0xffffffff
jne 0x103a015d
mov dword [ebp - 4], 2
mov dword [0x104cd458], 0
mov dword [0x104cd45c], 0
mov byte [ebp - 4], 3
mov dword [0x104cd460], 0
mov dword [0x104cd458], 0
mov dword [0x104cd45c], 0
mov byte [ebp - 4], 2
push 0x10429f60
call fcn.103b6c91
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x104cd468
call fcn.103b650e
add esp, 4
mov ecx, dword [ebp - 0x314]
mov eax, dword [0x104cd454]
cmp eax, dword [ecx + 4]
jle 0x103a01b8
push 0x104cd454
call fcn.103b6558
add esp, 4
cmp dword [0x104cd454], 0xffffffff
jne 0x103a01b8
mov dword [ebp - 4], 4
mov ecx, 0x104cd4c8
call fcn.1036f6e0
push 0x10429f50
call fcn.103b6c91
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x104cd454
call fcn.103b650e
add esp, 4
lea eax, [edi + 0x13c]
mov dword [edi + 0xc], 1
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [ebp - 0x2ec], eax
mov byte [eax], 0
mov eax, dword [ebp - 0x300]
test eax, eax
je 0x103a0217
push dword [ebp - 0x2f8]
push ecx
mov dword [esp], 0
push 0
push 0
push 0
call eax
add esp, 0x14
test eax, eax
jne 0x103a0217
mov dword [edi + 0xc], 2
xor al, al
jmp 0x103a1e44
lea ecx, [ebp - 0x3e4]
call fcn.10397410
mov dword [ebp - 4], 5
cmp dword [ebp - 0x308], 0
jne 0x103a0b58
mov ecx, dword [ebp - 0x310]
mov eax, dword [ecx]
call dword [eax + 8]
cmp dword [0x104ccdf8], 0
je 0x103a0257
mov dword [edi], 1
xor bl, bl
jmp 0x103a1e30
mov eax, dword [ebp - 0x300]
test eax, eax
je 0x103a0281
push dword [ebp - 0x2f8]
push ecx
mov dword [esp], 0
push edi
push 0
push 1
call eax
add esp, 0x14
test eax, eax
je 0x103a17c9
test esi, esi
je 0x103a02a0
mov edx, esi
mov ecx, esi
mov dword [ebp - 0x2e8], ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x103a0292
sub edx, esi
mov esi, ecx
inc edx
jmp 0x103a02aa
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x2e4], edx
mov byte [ebp - 4], 6
xor eax, eax
test esi, esi
mov edi, esi
mov esi, dword [0x104cd5a0]
cmove edi, eax
mov eax, dword [0x104cd5a4]
test esi, esi
je 0x103a02d1
cmp eax, 2
jae 0x103a02da
cmp edx, 2
jb 0x103a0349
test edi, edi
je 0x103a0349
test eax, eax
je 0x103a02e3
lea edi, [eax - 1]
jmp 0x103a02e5
xor edi, edi
test edx, edx
je 0x103a02ec
dec edx
jmp 0x103a02ee
xor edx, edx
cmp edi, edx
jne 0x103a0345
test eax, eax
je 0x103a02fb
lea edx, [eax - 1]
jmp 0x103a02fd
xor edx, edx
sub edx, 4
jb 0x103a0313
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x103a0318
add esi, 4
add ecx, 4
sub edx, 4
jae 0x103a0302
cmp edx, 0xfffffffc
je 0x103a0349
mov al, byte [esi]
cmp al, byte [ecx]
jne 0x103a0345
cmp edx, 0xfffffffd
je 0x103a0349
mov al, byte [esi + 1]
cmp al, byte [ecx + 1]
jne 0x103a0345
cmp edx, 0xfffffffe
je 0x103a0349
mov al, byte [esi + 2]
cmp al, byte [ecx + 2]
jne 0x103a0345
cmp edx, 0xffffffff
je 0x103a0349
mov al, byte [esi + 3]
cmp al, byte [ecx + 3]
je 0x103a0349
xor al, al
jmp 0x103a034b
mov al, 1
mov byte [ebp - 4], 5
test al, al
je 0x103a042b
test ebx, ebx
je 0x103a0374
mov edx, ebx
mov ecx, ebx
mov dword [ebp - 0x2e8], ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x103a0368
sub edx, esi
inc edx
jmp 0x103a037e
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x2e4], edx
mov byte [ebp - 4], 7
xor eax, eax
mov esi, dword [0x104cd458]
test ebx, ebx
mov edi, ebx
cmove edi, eax
mov eax, dword [0x104cd45c]
test esi, esi
je 0x103a03a5
cmp eax, 2
jae 0x103a03ae
cmp edx, 2
jb 0x103a041d
test edi, edi
je 0x103a041d
test eax, eax
je 0x103a03b7
lea edi, [eax - 1]
jmp 0x103a03b9
xor edi, edi
test edx, edx
je 0x103a03c0
dec edx
jmp 0x103a03c2
xor edx, edx
cmp edi, edx
jne 0x103a0419
test eax, eax
je 0x103a03cf
lea edx, [eax - 1]
jmp 0x103a03d1
xor edx, edx
sub edx, 4
jb 0x103a03e7
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x103a03ec
add esi, 4
add ecx, 4
sub edx, 4
jae 0x103a03d6
cmp edx, 0xfffffffc
je 0x103a041d
mov al, byte [esi]
cmp al, byte [ecx]
jne 0x103a0419
cmp edx, 0xfffffffd
je 0x103a041d
mov al, byte [esi + 1]
cmp al, byte [ecx + 1]
jne 0x103a0419
cmp edx, 0xfffffffe
je 0x103a041d
mov al, byte [esi + 2]
cmp al, byte [ecx + 2]
jne 0x103a0419
cmp edx, 0xffffffff
je 0x103a041d
mov al, byte [esi + 3]
cmp al, byte [ecx + 3]
je 0x103a041d
xor al, al
jmp 0x103a041f
mov al, 1
mov byte [ebp - 4], 5
test al, al
jne 0x103a08a7
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], 0
mov byte [ebp - 4], 8
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], 0
mov byte [ebp - 4], 9
mov dword [ebp - 0x320], 0
mov dword [ebp - 0x31c], 0
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x320], 0
mov dword [ebp - 0x31c], 0
test ebx, ebx
je 0x103a04c6
mov ecx, ebx
mov edi, ebx
mov dword [ebp - 0x2e8], edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x103a04b0
sub ecx, edx
mov eax, ebx
lea esi, [ecx + 1]
mov dword [ebp - 0x2e4], esi
jmp 0x103a04d8
xor edi, edi
xor eax, eax
mov dword [ebp - 0x2e8], edi
xor esi, esi
mov dword [ebp - 0x2e4], edi
mov byte [ebp - 4], 0xb
mov ebx, 1
test eax, eax
je 0x103a0533
cmp esi, 2
jb 0x103a0533
test esi, esi
lea ecx, [ebp - 0x320]
mov eax, ebx
cmovne eax, esi
push eax
call fcn.10353240
test al, al
je 0x103a0533
mov eax, dword [ebp - 0x31c]
test eax, eax
je 0x103a050e
dec eax
jmp 0x103a0510
xor eax, eax
push eax
push edi
push dword [ebp - 0x320]
call fcn.103ce0b0
lea eax, [esi - 1]
add esp, 0xc
neg esi
sbb esi, esi
and esi, eax
mov eax, dword [ebp - 0x320]
mov byte [esi + eax], 0
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
test eax, eax
je 0x103a059a
mov ecx, eax
mov edi, eax
mov dword [ebp - 0x2e8], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x103a0584
sub ecx, edx
mov eax, edi
lea esi, [ecx + 1]
mov dword [ebp - 0x2e4], esi
jmp 0x103a05ac
xor edi, edi
xor eax, eax
mov dword [ebp - 0x2e8], edi
xor esi, esi
mov dword [ebp - 0x2e4], edi
mov byte [ebp - 4], 0xe
test eax, eax
je 0x103a0602
cmp esi, 2
jb 0x103a0602
test esi, esi
lea ecx, [ebp - 0x338]
mov eax, ebx
cmovne eax, esi
push eax
call fcn.10353240
test al, al
je 0x103a0602
mov eax, dword [ebp - 0x334]
test eax, eax
je 0x103a05dd
dec eax
jmp 0x103a05df
xor eax, eax
push eax
push edi
push dword [ebp - 0x338]
call fcn.103ce0b0
lea eax, [esi - 1]
add esp, 0xc
neg esi
sbb esi, esi
and esi, eax
mov eax, dword [ebp - 0x338]
mov byte [esi + eax], 0
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x350]
push eax
push 0x104cd4c8
lea edx, [ebp - 0x320]
lea ecx, [ebp - 0x338]
call fcn.103a7120
mov ebx, dword [ebp - 0x304]
add esp, 8
mov dword [ebx], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x338]
call fcn.10367720
mov dword [ebp - 0x338], 0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x320]
call fcn.10367720
mov dword [ebp - 0x320], 0
mov byte [ebp - 4], 9
mov ecx, dword [ebx]
test ecx, ecx
je 0x103a071b
mov esi, dword [ebp + 0x2c]
test esi, esi
jle 0x103a06cb
call fcn.1039fa10
test al, al
je 0x103a06cb
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0x310]
lea eax, [esi - 1]
push 0
push eax
mov eax, dword [ebp - 0x300]
mov edx, dword [ecx]
push 0
push dword [ebp - 0x2f8]
push eax
mov eax, dword [edx + 0x18]
push ebx
push dword [ebp + 0x18]
push dword [ebp - 0x2fc]
push dword [ebp - 0x30c]
push dword [ebp - 0x2f4]
push dword [ebp - 0x2f0]
call eax
mov bl, al
jmp 0x103a06f9
cmp dword [ebp - 0x34c], 2
jb 0x103a06de
mov eax, dword [ebp - 0x350]
test eax, eax
jne 0x103a06e3
mov eax, 0x104571a6
push eax
push 0x8000
push dword [ebp - 0x2ec]
call fcn.103ded8d
add esp, 0xc
xor bl, bl
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x350]
call fcn.10367720
mov dword [ebp - 0x350], 0
mov byte [ebp - 4], 5
jmp 0x103a1e30
mov ebx, dword [ebp - 0x2f0]
test ebx, ebx
je 0x103a0748
mov ecx, ebx
mov edi, ebx
mov dword [ebp - 0x2e8], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x103a0732
sub ecx, edx
mov eax, ebx
lea esi, [ecx + 1]
mov dword [ebp - 0x2e4], esi
jmp 0x103a075a
xor edi, edi
xor eax, eax
mov dword [ebp - 0x2e8], edi
xor esi, esi
mov dword [ebp - 0x2e4], edi
mov byte [ebp - 4], 0x14
test eax, eax
je 0x103a07b4
cmp esi, 2
jb 0x103a07b4
mov ebx, 1
test esi, esi
mov eax, ebx
mov ecx, 0x104cd5a0
cmovne eax, esi
push eax
call fcn.10353240
test al, al
je 0x103a07d3
mov eax, dword [0x104cd5a4]
test eax, eax
je 0x103a078e
dec eax
jmp 0x103a0790
xor eax, eax
push eax
push edi
push dword [0x104cd5a0]
call fcn.103ce0b0
lea eax, [esi - 1]
add esp, 0xc
neg esi
sbb esi, esi
and esi, eax
mov eax, dword [0x104cd5a0]
mov byte [esi + eax], 0
jmp 0x103a07d3
mov eax, dword [0x104cd5a0]
mov ebx, 1
test eax, eax
je 0x103a07d3
cmp dword [0x104cd5a4], ebx
jbe 0x103a07d3
mov byte [eax], 0
mov dword [0x104cd5a4], ebx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x2f4]
test eax, eax
je 0x103a0806
mov ecx, eax
mov edi, eax
mov dword [ebp - 0x2e8], edi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x103a07f0
sub ecx, edx
mov eax, edi
lea esi, [ecx + 1]
mov dword [ebp - 0x2e4], esi
jmp 0x103a0818
xor edi, edi
xor eax, eax
mov dword [ebp - 0x2e8], edi
xor esi, esi
mov dword [ebp - 0x2e4], edi
mov byte [ebp - 4], 0x15
test eax, eax
je 0x103a086b
cmp esi, 2
jb 0x103a086b
test esi, esi
mov ecx, 0x104cd458
cmovne ebx, esi
push ebx
call fcn.10353240
test al, al
je 0x103a088a
mov eax, dword [0x104cd45c]
test eax, eax
je 0x103a0845
dec eax
jmp 0x103a0847
xor eax, eax
push eax
push edi
push dword [0x104cd458]
call fcn.103ce0b0
lea eax, [esi - 1]
add esp, 0xc
neg esi
sbb esi, esi
and esi, eax
mov eax, dword [0x104cd458]
mov byte [esi + eax], 0
jmp 0x103a088a
mov eax, dword [0x104cd458]
test eax, eax
je 0x103a088a
cmp dword [0x104cd45c], 1
jbe 0x103a088a
mov byte [eax], 0
mov dword [0x104cd45c], 1
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x350]
call fcn.10367720
mov dword [ebp - 0x350], 0
mov byte [ebp - 4], 5
cmp dword [0x104cd508], 2
jb 0x103a08ba
mov ecx, dword [0x104cd504]
test ecx, ecx
jne 0x103a08bf
mov ecx, 0x104571a6
mov edi, dword [ebp - 0x304]
mov edx, edi
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx + 0xf], al
test al, al
jne 0x103a08d0
mov edx, 0x104cd504
lea ecx, [ebp - 0x2e8]
call fcn.103ae050
mov byte [ebp - 4], 0x17
test eax, eax
je 0x103a0901
mov ecx, dword [eax]
test ecx, ecx
je 0x103a0901
cmp dword [eax + 4], 2
jae 0x103a0906
mov ecx, 0x104571a6
mov edx, edi
sub edx, ecx
nop word [eax + eax]
mov al, byte [ecx]
mov byte [edx + ecx + 0x30], al
inc ecx
test al, al
jne 0x103a0910
mov byte [ebp - 4], 5
mov ebx, dword [ebp + 0x18]
test bl, bl
je 0x103a0935
xor edx, edx
mov ecx, 0x104cd4c8
call fcn.103ad630
mov dword [edi + 4], eax
mov esi, dword [ebp - 0x300]
test esi, esi
je 0x103a095f
push dword [ebp - 0x2f8]
push ecx
mov dword [esp], 0
push edi
push 0
push 2
call esi
add esp, 0x14
test eax, eax
je 0x103a17c9
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 0
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 0
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x35c]
mov edx, dword [ebp - 0x30c]
mov ecx, 0x104cd4c8
push eax
lea eax, [ebp - 0x3e4]
push eax
call fcn.103ab200
add esp, 8
mov dword [edi + 8], eax
test eax, eax
je 0x103a0b30
mov dword [ebp - 0x2e8], 0x104571a6
mov dword [ebp - 0x2e4], 1
mov byte [ebp - 4], 0x1a
mov eax, dword [0x104cd5a0]
test eax, eax
je 0x103a09fc
cmp dword [0x104cd5a4], 1
jbe 0x103a09fc
mov byte [eax], 0
mov dword [0x104cd5a4], 1
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x2e8], 0x104571a6
mov dword [ebp - 0x2e4], 1
mov byte [ebp - 4], 0x1b
mov eax, dword [0x104cd458]
test eax, eax
je 0x103a0a37
cmp dword [0x104cd45c], 1
jbe 0x103a0a37
mov byte [eax], 0
mov dword [0x104cd45c], 1
mov byte [ebp - 4], 0x19
mov eax, dword [edi + 8]
cmp eax, 0x14
jne 0x103a0a7f
mov ecx, dword [ebp - 0x310]
push 0
push dword [ebp + 0x2c]
mov eax, dword [ecx]
push 0
push dword [ebp - 0x2f8]
mov eax, dword [eax + 0x18]
push esi
push edi
push ebx
push dword [ebp - 0x2fc]
push dword [ebp - 0x30c]
push dword [ebp - 0x2f4]
push dword [ebp - 0x2f0]
call eax
mov bl, al
jmp 0x103a0b0e
mov esi, dword [ebp + 0x2c]
test esi, esi
jle 0x103a0ae0
cmp eax, 2
je 0x103a0a95
cmp eax, 0x13
je 0x103a0a95
cmp eax, 0xd
jne 0x103a0ae0
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0x310]
lea eax, [esi - 1]
push 0
push eax
mov eax, dword [ebp - 0x300]
mov edx, dword [ecx]
push 0
push dword [ebp - 0x2f8]
push eax
mov eax, dword [edx + 0x18]
push edi
push ebx
push dword [ebp - 0x2fc]
push dword [ebp - 0x30c]
push dword [ebp - 0x2f4]
push dword [ebp - 0x2f0]
call eax
mov bl, al
jmp 0x103a0b0e
cmp dword [ebp - 0x358], 2
jb 0x103a0af3
mov eax, dword [ebp - 0x35c]
test eax, eax
jne 0x103a0af8
mov eax, 0x104571a6
push eax
push 0x8000
push dword [ebp - 0x2ec]
call fcn.103ded8d
add esp, 0xc
xor bl, bl
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x35c]
call fcn.10367720
mov dword [ebp - 0x35c], 0
mov byte [ebp - 4], 5
jmp 0x103a1e30
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x35c]
call fcn.10367720
mov dword [ebp - 0x35c], 0
mov byte [ebp - 4], 5
mov ebx, dword [ebp - 0x308]
jmp 0x103a0c0f
mov ebx, dword [ebp - 0x308]
mov ecx, ebx
mov dword [ebp - 0x2e8], ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x103a0b70
sub ecx, edx
lea esi, [ecx + 1]
mov dword [ebp - 0x2e4], esi
mov byte [ebp - 4], 0x20
cmp esi, 2
jb 0x103a0be0
test esi, esi
mov eax, 1
cmovne eax, esi
xor ecx, ecx
test esi, esi
push eax
cmove esi, ecx
lea ecx, [ebp - 0x3c0]
call fcn.10353240
test al, al
je 0x103a0c00
mov eax, dword [ebp - 0x3bc]
test eax, eax
je 0x103a0bb9
dec eax
jmp 0x103a0bbb
xor eax, eax
push eax
push ebx
push dword [ebp - 0x3c0]
call fcn.103ce0b0
lea eax, [esi - 1]
add esp, 0xc
neg esi
sbb esi, esi
and esi, eax
mov eax, dword [ebp - 0x3c0]
mov byte [esi + eax], 0
jmp 0x103a0c00
mov eax, dword [ebp - 0x3c0]
test eax, eax
je 0x103a0c00
cmp dword [ebp - 0x3bc], 1
jbe 0x103a0c00
mov byte [eax], 0
mov dword [ebp - 0x3bc], 1
mov byte [ebp - 4], 5
xorps xmm0, xmm0
movlpd qword [ebp - 0x374], xmm0
cmp byte [edi + 0x38], 0
lea eax, [edi + 0x38]
mov dword [ebp - 0x2f0], eax
jne 0x103a1692
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
mov byte [ebp - 4], 0x22
test ebx, ebx
jne 0x103a131b
mov dword [ebp - 0x320], ebx
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x318], ebx
mov dword [ebp - 0x320], ebx
mov dword [ebp - 0x31c], ebx
cmp dword [ebp - 0x390], ebx
je 0x103a0cf0
mov eax, dword [ebp - 0x38c]
cmp eax, 2
jb 0x103a0cf0
test eax, eax
je 0x103a0ca0
dec eax
jmp 0x103a0ca2
xor eax, eax
inc eax
lea ecx, [ebp - 0x320]
push eax
call fcn.10353240
test al, al
je 0x103a0cf0
mov eax, dword [ebp - 0x31c]
test eax, eax
je 0x103a0cc0
dec eax
jmp 0x103a0cc2
xor eax, eax
push eax
push dword [ebp - 0x390]
push dword [ebp - 0x320]
call fcn.103ce0b0
mov ecx, dword [ebp - 0x38c]
add esp, 0xc
test ecx, ecx
je 0x103a0ce4
dec ecx
jmp 0x103a0ce6
xor ecx, ecx
mov eax, dword [ebp - 0x320]
mov byte [eax + ecx], 0
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x314]
mov eax, dword [0x104cd464]
cmp eax, dword [ecx + 4]
jle 0x103a0dc8
push 0x104cd464
call fcn.103b6558
add esp, 4
cmp dword [0x104cd464], 0xffffffff
jne 0x103a0dc8
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x2e8], str._:____
mov dword [ebp - 0x2e4], 0xa
mov byte [ebp - 4], 0x26
xorps xmm0, xmm0
xor eax, eax
mov dword [0x104cd520], 0
movups xmmword [0x104cd524], xmm0
mov dword [0x104cd594], 0
xor edx, edx
movups xmmword [0x104cd534], xmm0
mov dword [0x104cd598], 0
movups xmmword [0x104cd544], xmm0
mov word [0x104cd59c], ax
movups xmmword [0x104cd554], xmm0
mov byte [0x104cd59e], al
movups xmmword [0x104cd564], xmm0
movups xmmword [0x104cd574], xmm0
movups xmmword [0x104cd584], xmm0
mov cl, byte [edx + str._:____]
inc edx
movsx eax, cl
mov byte [eax + 0x104cd51f], cl
cmp edx, 9
jb 0x103a0da2
mov byte [ebp - 4], 0x24
push 0x104cd464
call fcn.103b650e
add esp, 4
mov edx, dword [ebp - 0x31c]
xor ecx, ecx
test edx, edx
je 0x103a0e00
lea eax, [edx - 1]
cmp ecx, eax
jae 0x103a0e00
mov esi, dword [ebp - 0x320]
movsx eax, byte [esi + ecx]
cmp eax, 1
jl 0x103a0dfd
cmp byte [eax + 0x104cd51f], 0
je 0x103a0dfd
mov byte [esi + ecx], 0x5f
mov edx, dword [ebp - 0x31c]
inc ecx
jmp 0x103a0dd0
mov dword [ebp - 0x2e8], 0x10479350
mov dword [ebp - 0x2e4], 2
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x3c], 0x10479350
mov dword [ebp - 0x38], 2
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x34]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x2fc]
push dword [ebp - 0x30c]
call fcn.1035df40
inc eax
add esp, 8
mov dword [ebp - 0x30], eax
mov byte [ebp + eax - 0x2c], 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x2e0], 4
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0xffffffff
call fcn.1035de00
mov byte [ebp - 4], 0x2f
mov dword [ebp - 0x11c], 0x1047a1f4
mov dword [ebp - 0x118], 3
mov byte [ebp - 4], 0x2e
mov dword [ebp - 0x2e0], 0xc
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xffffffff
call fcn.103623a0
mov byte [ebp - 4], 0x33
mov eax, dword [0x104cd504]
mov dword [ebp - 0xcc], eax
mov eax, dword [0x104cd508]
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 0x32
mov dword [ebp - 0x2e0], 0x1c
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0xffffffff
call fcn.103a5340
mov byte [ebp - 4], 0x37
mov dword [ebp - 0x164], 0x1047a1f4
mov dword [ebp - 0x160], 3
mov byte [ebp - 4], 0x36
mov dword [ebp - 0x2e0], 0x3c
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 0xffffffff
call fcn.103a5410
mov byte [ebp - 4], 0x3b
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x398]
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 4], 0x3a
mov dword [ebp - 0x2e0], 0x7c
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xffffffff
call fcn.103a5500
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x4c], str._.ipa
mov dword [ebp - 0x48], 6
mov byte [ebp - 4], 0x3e
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0x2e0], 0xfc
test esi, esi
jns 0x103a10e0
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
jns 0x103a10d4
mov eax, dword [ebp - 0xb0]
test eax, eax
jns 0x103a10c0
mov eax, dword [ebp - 0xa8]
test eax, eax
jns 0x103a10ac
mov eax, dword [ebp - 0xa0]
test eax, eax
jns 0x103a1098
mov eax, dword [ebp - 0x98]
test eax, eax
jns 0x103a1084
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x103a106b
lea ecx, [eax - 1]
jmp 0x103a106d
xor ecx, ecx
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x103a107a
dec eax
jmp 0x103a107c
xor eax, eax
add eax, ecx
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x103a108e
dec ecx
jmp 0x103a1090
xor ecx, ecx
add eax, ecx
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x103a10a2
dec ecx
jmp 0x103a10a4
xor ecx, ecx
add eax, ecx
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x103a10b6
dec ecx
jmp 0x103a10b8
xor ecx, ecx
add eax, ecx
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x103a10ca
dec ecx
jmp 0x103a10cc
xor ecx, ecx
add ecx, eax
mov dword [ebp - 0xb8], ecx
mov esi, dword [ebp - 0x48]
dec esi
add esi, ecx
mov dword [ebp - 0xc0], esi
lea ebx, [esi + 1]
mov dl, 1
mov ecx, ebx
call fcn.103675e0
mov edi, eax
mov byte [edi + esi], 0
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x103a10ff
dec eax
jmp 0x103a1101
xor eax, eax
push eax
push dword [ebp - 0x94]
push edi
call fcn.103ce0b0
mov esi, dword [ebp - 0x90]
add esp, 0xc
test esi, esi
je 0x103a111e
dec esi
jmp 0x103a1120
xor esi, esi
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x103a112d
dec eax
jmp 0x103a112f
xor eax, eax
push eax
push dword [ebp - 0x8c]
lea eax, [edi + esi]
push eax
call fcn.103ce0b0
mov eax, dword [ebp - 0x88]
add esp, 0xc
test eax, eax
je 0x103a114f
dec eax
jmp 0x103a1151
xor eax, eax
add esi, eax
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x103a115d
dec eax
jmp 0x103a115f
xor eax, eax
push eax
push dword [ebp - 0x6c]
lea eax, [edi + esi]
push eax
call fcn.103ce0b0
mov eax, dword [ebp - 0x68]
add esp, 0xc
test eax, eax
je 0x103a1179
dec esi
add esi, eax
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x103a1183
dec eax
jmp 0x103a1185
xor eax, eax
push eax
push dword [ebp - 0x64]
lea eax, [edi + esi]
push eax
call fcn.103ce0b0
mov eax, dword [ebp - 0x60]
add esp, 0xc
test eax, eax
je 0x103a119f
dec eax
jmp 0x103a11a1
xor eax, eax
add esi, eax
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x103a11ad
dec eax
jmp 0x103a11af
xor eax, eax
push eax
push dword [ebp - 0x5c]
lea eax, [edi + esi]
push eax
call fcn.103ce0b0
mov eax, dword [ebp - 0x58]
add esp, 0xc
test eax, eax
je 0x103a11c9
dec esi
add esi, eax
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x103a11d3
dec eax
jmp 0x103a11d5
xor eax, eax
push eax
push dword [ebp - 0x54]
lea eax, [edi + esi]
push eax
call fcn.103ce0b0
mov eax, dword [ebp - 0x50]
add esp, 0xc
test eax, eax
je 0x103a11ef
dec eax
jmp 0x103a11f1
xor eax, eax
lea ecx, [esi + eax]
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x103a11fe
dec eax
jmp 0x103a1200
xor eax, eax
push eax
push dword [ebp - 0x4c]
lea eax, [edi + ecx]
push eax
call fcn.103ce0b0
add esp, 0xc
mov dword [ebp - 0x334], ebx
xor ecx, ecx
mov dword [ebp - 0x330], ebx
mov dword [ebp - 0x338], edi
call fcn.10367720
mov esi, 0xfc
mov dword [ebp - 0x2e0], esi
and esi, 0xffffff7f
mov dword [ebp - 0x2e0], esi
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0xc4]
call fcn.10353900
and esi, 0xffffffbf
mov dword [ebp - 0x2e0], esi
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0x22c]
call fcn.10367720
mov dword [ebp - 0x22c], 0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x224]
call fcn.10353770
and esi, 0xffffffdf
mov dword [ebp - 0x2e0], esi
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x1bc]
call fcn.10353770
and esi, 0xffffffef
mov dword [ebp - 0x2e0], esi
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x114]
call fcn.10367720
mov dword [ebp - 0x114], 0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x10c]
call fcn.10353670
and esi, 0xfffffff7
mov dword [ebp - 0x2e0], esi
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x154]
call fcn.10353670
and esi, 0xfffffffb
mov dword [ebp - 0x2e0], esi
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x44]
call fcn.10367720
mov dword [ebp - 0x44], 0
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x320]
call fcn.10367720
mov dword [ebp - 0x320], 0
jmp 0x103a13b8
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x103a1320
lea eax, [ebp - 0x2ec]
sub esi, ecx
push eax
call fcn.10001ad0
lea eax, [ebp - 0x1bc]
push eax
call fcn.10001ac0
lea eax, [ebp - 0x1bc]
push eax
call fcn.10001ac0
lea eax, [ebp - 0x1bc]
push eax
push esi
push ebx
call fcn.10001af0
lea eax, [ebp - 0x1bc]
push eax
push 0
call fcn.10001ae0
mov dword [ebp - 0x2e8], str..ipa
mov dword [ebp - 0x2e4], 5
mov byte [ebp - 4], 0x4e
mov dl, 1
mov ecx, 5
call fcn.103675e0
mov edi, eax
mov ebx, 5
mov eax, dword [str..ipa]
xor ecx, ecx
mov dword [ebp - 0x334], ebx
mov dword [ebp - 0x330], ebx
mov dword [edi], eax
mov byte [edi + 4], 0
mov dword [ebp - 0x338], edi
call fcn.10367720
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x314]
mov eax, dword [0x104cd464]
cmp eax, dword [ecx + 4]
jle 0x103a1496
push 0x104cd464
call fcn.103b6558
add esp, 4
cmp dword [0x104cd464], 0xffffffff
jne 0x103a1496
mov byte [ebp - 4], 0x4f
mov dword [ebp - 0x2e8], str._:____
mov dword [ebp - 0x2e4], 0xa
mov byte [ebp - 4], 0x50
xorps xmm0, xmm0
xor eax, eax
mov dword [0x104cd520], 0
movups xmmword [0x104cd524], xmm0
mov dword [0x104cd594], 0
xor edx, edx
movups xmmword [0x104cd534], xmm0
mov dword [0x104cd598], 0
movups xmmword [0x104cd544], xmm0
mov word [0x104cd59c], ax
movups xmmword [0x104cd554], xmm0
mov byte [0x104cd59e], al
movups xmmword [0x104cd564], xmm0
movups xmmword [0x104cd574], xmm0
movups xmmword [0x104cd584], xmm0
nop word [eax + eax]
mov cl, byte [edx + str._:____]
inc edx
movsx eax, cl
mov byte [eax + 0x104cd51f], cl
cmp edx, 9
jb 0x103a1470
mov byte [ebp - 4], 0x22
push 0x104cd464
call fcn.103b650e
add esp, 4
xor ecx, ecx
test ebx, ebx
je 0x103a14bc
lea eax, [ebx - 1]
cmp ecx, eax
jae 0x103a14bc
movsx eax, byte [ecx + edi]
cmp eax, 1
jl 0x103a14b9
cmp byte [eax + 0x104cd51f], 0
je 0x103a14b9
mov byte [ecx + edi], 0x5f
inc ecx
jmp 0x103a1498
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0xffffffff
mov eax, dword [ecx + 0x9c]
mov dword [ebp - 0x324], eax
mov eax, dword [ecx + 0xa0]
mov dword [ebp - 0x320], eax
mov byte [ebp - 4], 0x52
mov dword [ebp - 0x31c], 0x10457c2c
mov dword [ebp - 0x318], 2
mov byte [ebp - 4], 0x51
mov dword [ebp - 0x2e0], 0x100
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xffffffff
call fcn.10354c90
mov byte [ebp - 4], 0x56
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov byte [ebp - 4], 0x55
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x2e0], 0x300
test esi, esi
je 0x103a155d
lea eax, [esi - 1]
jmp 0x103a155f
xor eax, eax
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x2f0]
call fcn.103ce0b0
add esp, 0xc
test esi, esi
je 0x103a157a
lea ebx, [esi - 1]
jmp 0x103a157c
xor ebx, ebx
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x103a1588
lea eax, [esi - 1]
jmp 0x103a158a
xor eax, eax
push eax
mov eax, dword [ebp - 0x2f0]
push dword [ebp - 0x24]
add eax, ebx
push eax
call fcn.103ce0b0
add esp, 0xc
test esi, esi
je 0x103a15a6
dec esi
jmp 0x103a15a8
xor esi, esi
lea ecx, [esi + ebx]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x2ec], ecx
test esi, esi
je 0x103a15bd
lea eax, [esi - 1]
jmp 0x103a15bf
xor eax, eax
push eax
mov eax, dword [ebp - 0x2f0]
push dword [ebp - 0x1c]
add eax, ecx
push eax
call fcn.103ce0b0
mov ebx, dword [ebp - 0x304]
add esp, 0xc
test esi, esi
je 0x103a15e5
lea eax, [ebx - 1]
add eax, esi
jmp 0x103a15e7
mov eax, ebx
mov ecx, dword [ebp - 0x2ec]
mov esi, 0x300
mov dword [ebp - 0x2e0], esi
and esi, 0xfffffdff
mov dword [ebp - 0x2e0], esi
mov byte [eax + ecx + 0x38], 0
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x3c]
call fcn.10353670
and esi, 0xfffffeff
mov dword [ebp - 0x2e0], esi
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0x32c]
call fcn.10367720
mov dword [ebp - 0x32c], 0
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x2f0]
call fcn.10365350
test al, al
je 0x103a166d
mov byte [ebp - 4], 0x5c
mov ecx, edi
call fcn.10367720
mov dword [ebp - 0x338], 0
mov byte [ebp - 4], 5
mov bl, 1
jmp 0x103a1e30
mov byte [ebp - 4], 0x5d
mov ecx, edi
call fcn.10367720
mov dword [ebp - 0x338], 0
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x304]
mov eax, dword [ebp - 0x2f0]
cmp byte [ebp + 0x30], 0
je 0x103a1764
cmp dword [ebp - 0x308], 0
mov dword [edi + 0xc], 3
jne 0x103a175d
sub esp, 0xc
mov esi, esp
mov dword [ebp - 0x2ec], esp
mov dword [ebp - 0x2f4], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov byte [ebp - 4], 0x5e
mov dword [esi + 8], 0
mov dword [esi], 0
mov dword [esi + 4], 0
cmp dword [ebp - 0x3a8], 0
je 0x103a1742
mov eax, dword [ebp - 0x3a4]
cmp eax, 2
jb 0x103a1742
test eax, eax
je 0x103a1701
dec eax
jmp 0x103a1703
xor eax, eax
inc eax
mov ecx, esi
push eax
call fcn.10353240
test al, al
je 0x103a1742
mov ecx, dword [esi + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp - 0x3a8]
push dword [esi]
call fcn.103ce0b0
mov ecx, dword [ebp - 0x3a4]
add esp, 0xc
test ecx, ecx
je 0x103a173a
dec ecx
jmp 0x103a173c
xor ecx, ecx
mov eax, dword [esi]
mov byte [ecx + eax], 0
mov byte [ebp - 4], 0x5f
mov byte [ebp - 4], 5
mov ecx, 0x104cd4c8
mov edx, dword [ebp - 0x30c]
call fcn.103aadc0
add esp, 0xc
mov bl, 1
jmp 0x103a1e30
xor edx, edx
mov ecx, eax
call fcn.10365ce0
mov ecx, dword [ebp - 0x370]
mov esi, eax
mov eax, dword [ebp - 0x374]
test ecx, ecx
jne 0x103a1783
test eax, eax
je 0x103a17a3
add eax, 0x100000
adc ecx, 0
cmp edx, ecx
ja 0x103a17a3
jb 0x103a1795
cmp esi, eax
jae 0x103a17a3
mov dword [edi + 0xc], 3
xor bl, bl
jmp 0x103a1e30
mov esi, dword [ebp - 0x300]
test esi, esi
je 0x103a17d7
push dword [ebp - 0x2f8]
push ecx
mov dword [esp], 0
push edi
push 0
push 3
call esi
add esp, 0x14
test eax, eax
jne 0x103a17d7
mov dword [edi + 0xc], 2
xor bl, bl
jmp 0x103a1e30
lea ecx, [ebp - 0x2dc]
call fcn.103813c0
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x2dc]
mov eax, dword [ebp - 0x310]
push 1
mov eax, dword [eax + 0x9c]
push eax
push eax
push eax
call fcn.10381560
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0
mov byte [ebp - 4], 0x61
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x2e8], 0x104571a6
mov dword [ebp - 0x2e4], 1
mov byte [ebp - 4], 0x63
mov ebx, dword [ebp - 0x308]
test ebx, ebx
jne 0x103a195d
mov byte [ebp - 4], 0x64
mov dword [ebp - 0x344], ebx
mov dword [ebp - 0x340], 0xffffffff
mov dword [ebp - 0x33c], str.Cookie:
mov dword [ebp - 0x338], 9
mov byte [ebp - 4], 0x65
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x334], eax
mov edi, dword [ebp - 0x3b0]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x330], edi
mov byte [ebp - 4], 0x64
mov dword [ebp - 0x2e0], 0x4000
test edi, edi
je 0x103a18bf
lea esi, [edi - 1]
jmp 0x103a18c1
xor esi, esi
add esi, 8
mov dl, 1
mov dword [ebp - 0x340], esi
lea ecx, [esi + 1]
call fcn.103675e0
mov ebx, eax
mov byte [esi + ebx], 0
movq xmm0, qword [str.Cookie:]
movq qword [ebx], xmm0
test edi, edi
je 0x103a18ed
dec edi
jmp 0x103a18ef
xor edi, edi
push edi
push dword [ebp - 0x2ec]
lea eax, [ebx + 8]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x368]
lea eax, [esi + 1]
add esp, 0xc
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x368], ebx
call fcn.10367720
mov eax, 0x4000
mov dword [ebp - 0x2e0], eax
and eax, 0xffffbfff
mov dword [ebp - 0x2e0], eax
mov byte [ebp - 4], 0x6a
xor ecx, ecx
call fcn.10367720
mov dword [ebp - 0x344], 0
mov byte [ebp - 4], 0x63
mov esi, dword [ebp - 0x300]
mov ebx, dword [ebp - 0x308]
mov edi, dword [ebp - 0x30c]
lea ecx, [ebp - 0x2dc]
push 0
push 0
push dword [ebp - 0x368]
push 0
push dword [ebp - 0x3c0]
push dword [ebp - 0x2fc]
push edi
call fcn.10383900
test eax, eax
jne 0x103a1a30
test ebx, ebx
jne 0x103a1e06
sub esp, 0xc
mov esi, esp
mov dword [ebp - 0x2ec], esp
mov dword [ebp - 0x2f4], esi
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov byte [ebp - 4], 0x6b
mov dword [esi + 8], ebx
mov dword [esi], ebx
mov dword [esi + 4], ebx
cmp dword [ebp - 0x3a8], ebx
je 0x103a1a14
mov eax, dword [ebp - 0x3a4]
cmp eax, 2
jb 0x103a1a14
test eax, eax
je 0x103a19d3
dec eax
jmp 0x103a19d5
xor eax, eax
inc eax
mov ecx, esi
push eax
call fcn.10353240
test al, al
je 0x103a1a14
mov ecx, dword [esi + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp - 0x3a8]
push dword [esi]
call fcn.103ce0b0
mov ecx, dword [ebp - 0x3a4]
add esp, 0xc
test ecx, ecx
je 0x103a1a0c
dec ecx
jmp 0x103a1a0e
xor ecx, ecx
mov eax, dword [esi]
mov byte [ecx + eax], 0
mov byte [ebp - 4], 0x6c
mov byte [ebp - 4], 0x63
mov edx, edi
mov ecx, 0x104cd4c8
call fcn.103aadc0
add esp, 0xc
jmp 0x103a1e06
push dword [ebp - 0x2fc]
lea ecx, [ebp - 0x2dc]
push edi
call fcn.10381b40
mov ebx, dword [ebp - 0x304]
nop dword [eax + eax]
lea eax, [ebp - 0x2ec]
push eax
lea eax, [ebp - 0x2f4]
push eax
push dword [ebp - 0x2fc]
lea ecx, [ebp - 0x2dc]
push edi
call fcn.10381c30
cmp eax, 2
je 0x103a1a79
test eax, eax
jne 0x103a1ab5
test esi, esi
je 0x103a1aa7
push dword [ebp - 0x2f8]
movss xmm0, dword [ebp - 0x2ec]
push ecx
movss dword [esp], xmm0
push ebx
push dword [ebp - 0x2f4]
push 4
call esi
add esp, 0x14
test eax, eax
je 0x103a1ded
xor edx, edx
mov ecx, 0xc8
call fcn.10368ce0
jmp 0x103a1a50
test esi, esi
je 0x103a1ad9
push dword [ebp - 0x2f8]
push ecx
mov dword [esp], 0
push ebx
push 0
push 5
call esi
add esp, 0x14
test eax, eax
je 0x103a1bd4
cmp dword [ebp - 0x308], 0
jne 0x103a1b95
sub esp, 0xc
mov esi, esp
mov dword [ebp - 0x2ec], esp
mov dword [ebp - 0x2f4], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov byte [ebp - 4], 0x70
mov dword [esi + 8], 0
mov dword [esi], 0
mov dword [esi + 4], 0
cmp dword [ebp - 0x3a8], 0
je 0x103a1b78
mov eax, dword [ebp - 0x3a4]
cmp eax, 2
jb 0x103a1b78
test eax, eax
je 0x103a1b37
dec eax
jmp 0x103a1b39
xor eax, eax
inc eax
mov ecx, esi
push eax
call fcn.10353240
test al, al
je 0x103a1b78
mov ecx, dword [esi + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp - 0x3a8]
push dword [esi]
call fcn.103ce0b0
mov ecx, dword [ebp - 0x3a4]
add esp, 0xc
test ecx, ecx
je 0x103a1b70
dec ecx
jmp 0x103a1b72
xor ecx, ecx
mov eax, dword [esi]
mov byte [ecx + eax], 0
mov byte [ebp - 4], 0x71
mov byte [ebp - 4], 0x63
mov edx, edi
mov ecx, 0x104cd4c8
call fcn.103aadc0
mov esi, dword [ebp - 0x300]
add esp, 0xc
push 0
push 0
push dword [ebp - 0x2fc]
lea ecx, [ebp - 0x2dc]
push edi
call fcn.10381c30
cmp eax, 3
jne 0x103a1e06
test esi, esi
je 0x103a1be0
push dword [ebp - 0x2f8]
push ecx
mov dword [esp], 0
push ebx
push 0
push 6
call esi
add esp, 0x14
test eax, eax
jne 0x103a1be0
mov dword [ebx + 0xc], 2
jmp 0x103a1e06
push dword [ebp - 0x2fc]
lea ecx, [ebp - 0x2dc]
push edi
call fcn.103843a0
mov byte [ebp - 4], 0x74
mov ecx, dword [ebp - 0x2b0]
mov dword [ebp - 0x324], ecx
mov ebx, dword [ebp - 0x2ac]
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0xffffffff
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x320], ebx
mov byte [ebp - 4], 0x75
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x31c], ecx
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x310], ecx
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x318], eax
mov byte [ebp - 4], 0x74
mov dword [ebp - 0x2e0], 0x8000
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
mov byte [ebp - 4], 0x78
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
mov dword [ebp - 0x330], 0
test ebx, ebx
je 0x103a1c97
lea ecx, [ebx - 1]
jmp 0x103a1c99
xor ecx, ecx
test eax, eax
je 0x103a1ca0
dec eax
jmp 0x103a1ca2
xor eax, eax
lea esi, [eax + ecx]
mov dl, 1
lea ecx, [esi + 1]
mov dword [ebp - 0x328], esi
call fcn.103675e0
mov edi, eax
mov byte [esi + edi], 0
test ebx, ebx
je 0x103a1cc4
lea eax, [ebx - 1]
jmp 0x103a1cc6
xor eax, eax
push eax
push dword [ebp - 0x2ec]
push edi
call fcn.103ce0b0
add esp, 0xc
test ebx, ebx
je 0x103a1cdd
dec ebx
jmp 0x103a1cdf
xor ebx, ebx
mov eax, dword [ebp - 0x2f4]
test eax, eax
je 0x103a1cec
dec eax
jmp 0x103a1cee
xor eax, eax
push eax
push dword [ebp - 0x310]
lea eax, [ebx + edi]
push eax
call fcn.103ce0b0
add esp, 0xc
mov dword [ebp - 0x338], edi
lea eax, [esi + 1]
xor ecx, ecx
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], eax
call fcn.10367720
mov byte [ebp - 4], 0x79
mov eax, 0x8000
mov dword [ebp - 0x2e0], eax
and eax, 0xffff7fff
mov dword [ebp - 0x2e0], eax
mov byte [ebp - 4], 0x7d
xor ecx, ecx
call fcn.10367720
mov dword [ebp - 0x32c], 0
mov byte [ebp - 4], 0x7a
cmp dword [ebp - 0x308], 0
jne 0x103a1d87
lea eax, [ebp - 0x3cc]
mov ecx, edi
push eax
lea eax, [ebp - 0x3d8]
push eax
push dword [ebp - 0x2fc]
lea edx, [ebp - 0x3e4]
push dword [ebp - 0x30c]
call fcn.1039ea80
add esp, 0x10
test al, al
je 0x103a1dba
mov eax, dword [ebp - 0x300]
test eax, eax
je 0x103a1dbe
push dword [ebp - 0x2f8]
mov ebx, dword [ebp - 0x304]
push ecx
mov dword [esp], 0
push ebx
push 0
push 7
call eax
add esp, 0x14
test eax, eax
jne 0x103a1dbe
mov dword [ebx + 0xc], 2
xor bl, bl
jmp 0x103a1dd2
mov edx, dword [ebp - 0x2f0]
mov ecx, edi
push 1
call fcn.10364c70
add esp, 4
mov bl, 1
mov byte [ebp - 4], 0x82
mov ecx, edi
call fcn.10367720
mov dword [ebp - 0x338], 0
mov byte [ebp - 4], 0x63
jmp 0x103a1e08
push dword [ebp - 0x2fc]
lea ecx, [ebp - 0x2dc]
mov dword [ebx + 0xc], 2
push edi
call fcn.10381d50
xor bl, bl
mov byte [ebp - 4], 0x83
mov ecx, dword [ebp - 0x368]
call fcn.10367720
mov dword [ebp - 0x368], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2dc]
call fcn.103803c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3e4]
call fcn.10397530
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.103b6385
mov esp, ebp
pop ebp
ret 0x2c