Function at 0x1003ae55
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x1006959a
call fcn.100575f8
sub esp, 0x288
mov eax, dword [0x10084500]
push ebx
push esi
push edi
mov esi, ecx
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x4c], 0xf
call fcn.1000125d
cmp dword [esi + 0x18], 0x24
mov edi, dword [ebp + 0x18]
mov dword [ebp - 4], ebx
jne 0x1003af2f
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x40]
cmp eax, ebx
jle 0x1003aea1
dec eax
jmp 0x1003aeb7
mov eax, dword [edi + 0x7c]
cmp eax, ebx
je 0x1003af2f
push dword [ebp + 0x10]
mov ecx, esi
push eax
call fcn.100348f1
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x114], eax
call fcn.10034574
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x114]
lea ecx, [edi + 0x34]
mov byte [ebp - 4], 1
call fcn.10053006
test eax, eax
je 0x1003af1e
push dword [ebp - 0x110]
lea ecx, [ebp - 0x10c]
call fcn.1000123d
push dword [eax]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.10001619
lea eax, [ebp - 0x108]
cmp dword [ebp - 0x10c], eax
je 0x1003af1e
push dword [ebp - 0x10c]
call fcn.100564da
pop ecx
mov ecx, dword [ebp - 0x110]
add ecx, 0xfffffff0
mov byte [ebp - 4], bl
call fcn.10004f32
cmp dword [ebp - 0x50], ebx
jne 0x1003b1a6
lea ecx, [esi + 8]
call fcn.10033ffb
cmp eax, ebx
mov dword [ebp - 0x110], eax
je 0x1003b1a6
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x1003b186
mov eax, dword [eax + 0x34]
sub eax, ebx
je 0x1003b16e
dec eax
je 0x1003b144
dec eax
je 0x1003b10a
dec eax
je 0x1003b0be
dec eax
jne 0x1003b17d
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x28]
mov eax, dword [eax - 4]
test eax, eax
mov dword [ebp - 0x114], eax
fild dword [ebp - 0x114]
jge 0x1003af9f
fadd qword [0x10073e48]
fmul qword [0x10073e88]
fstp qword [ebp - 0x120]
call fcn.100583c8
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x114], eax
fild dword [ebp - 0x114]
add ecx, 0x20
xor edi, edi
fmul qword [ebp - 0x120]
fstp qword [ebp - 0x120]
call fcn.1004f201
test eax, eax
jle 0x1003b035
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx + edi*8]
fild dword [ecx + edi*8]
test eax, eax
jge 0x1003afef
fadd qword [0x10073e48]
fcomp qword [ebp - 0x120]
fnstsw ax
test ah, 0x41
jp 0x1003b025
lea eax, [ecx + edi*8]
mov eax, dword [eax + 4]
test eax, eax
mov dword [ebp - 0x114], eax
fild dword [ebp - 0x114]
jge 0x1003b018
fadd qword [0x10073e48]
fcomp qword [ebp - 0x120]
fnstsw ax
test ah, 1
je 0x1003b065
mov ecx, dword [ebp + 0x10]
add ecx, 0x20
inc edi
call fcn.1004f201
cmp edi, eax
jl 0x1003afd9
cmp dword [esi + 0x18], 9
jne 0x1003b0b6
mov eax, dword [ebp - 0x110]
cmp eax, 1
jle 0x1003b0b6
mov ecx, dword [esi + 0xc]
add eax, 0xfffffffe
imul eax, eax, 0x1c
add eax, ecx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x64]
call fcn.100014f5
mov edi, dword [ebp + 0x18]
jmp 0x1003b17d
cmp dword [esi + 0x18], 9
push 0xffffffffffffffff
push ebx
jne 0x1003b097
mov eax, dword [ebp - 0x110]
dec eax
cmp edi, eax
jl 0x1003b08c
mov eax, dword [ebp - 0x110]
mov ecx, dword [esi + 0xc]
add eax, 0xfffffffe
imul eax, eax, 0x1c
add eax, ecx
jmp 0x1003b054
mov eax, dword [esi + 0xc]
imul edi, edi, 0x1c
add edi, eax
push edi
jmp 0x1003b055
cmp edi, dword [ebp - 0x110]
lea ecx, [ebp - 0x64]
jl 0x1003b0ab
mov eax, dword [esi + 0x10]
add eax, 0xffffffe4
push eax
jmp 0x1003b058
mov eax, dword [esi + 0xc]
imul edi, edi, 0x1c
add edi, eax
push edi
jmp 0x1003b058
mov eax, dword [esi + 0x10]
add eax, 0xffffffe4
jmp 0x1003b051
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 0x3c]
lea ecx, [esi + 8]
call fcn.10033ffb
dec eax
cmp edi, eax
jbe 0x1003b0d3
xor edi, edi
cmp dword [esi + 0x18], 9
jne 0x1003b0e8
mov eax, dword [ebp - 0x110]
add eax, 0xfffffffe
cmp edi, eax
jbe 0x1003b0e8
xor edi, edi
mov ecx, dword [esi + 0xc]
mov eax, edi
imul eax, eax, 0x1c
push 0xffffffffffffffff
add eax, ecx
push ebx
push eax
lea ecx, [ebp - 0x64]
call fcn.100014f5
mov eax, dword [ebp + 0x10]
inc edi
mov dword [eax + 0x3c], edi
jmp 0x1003b05d
cmp dword [esi + 0x18], 9
jne 0x1003b12a
cmp dword [ebp - 0x110], 1
jle 0x1003b12a
call fcn.100583c8
mov ecx, dword [ebp - 0x110]
cdq
dec ecx
idiv ecx
jmp 0x1003b136
call fcn.100583c8
cdq
idiv dword [ebp - 0x110]
mov eax, dword [esi + 0xc]
imul edx, edx, 0x1c
push 0xffffffffffffffff
add edx, eax
push ebx
push edx
jmp 0x1003b175
cmp dword [esi + 0x18], 9
jne 0x1003b166
cmp dword [ebp - 0x110], 1
jle 0x1003b166
mov eax, dword [ebp - 0x110]
mov ecx, dword [esi + 0xc]
add eax, 0xfffffffe
imul eax, eax, 0x1c
add eax, ecx
jmp 0x1003b171
mov eax, dword [esi + 0x10]
add eax, 0xffffffe4
jmp 0x1003b171
mov eax, dword [esi + 0xc]
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x64]
call fcn.100014f5
mov eax, dword [ebp + 0x10]
or dword [eax + 0x40], 0xffffffff
jmp 0x1003b1a6
call fcn.100583c8
cdq
idiv dword [ebp - 0x110]
mov eax, dword [esi + 0xc]
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x64]
imul edx, edx, 0x1c
add edx, eax
push edx
call fcn.100014f5
mov eax, dword [esi + 0x18]
cmp eax, 0x33
jg 0x1003b752
je 0x1003b682
sub eax, 9
je 0x1003b4a2
sub eax, 3
je 0x1003b39e
sub eax, 0xe
je 0x1003b390
sub eax, 9
je 0x1003b35d
dec eax
je 0x1003b2a0
dec eax
jne 0x1003bf42
push 0x100840ac
lea ecx, [ebp - 0x2c]
call fcn.100015f3
push dword [esi + 0xc]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x11
call fcn.100015f3
push dword [ebp + 0x1c]
mov edi, 0x100840ac
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.10001619
mov eax, dword [esi + 0xc]
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x114], esp
push eax
call fcn.100015f3
lea eax, [ebp - 0x160]
push eax
call fcn.1000ea79
add esp, 0x24
mov ecx, dword [esi + 0xc]
push 0xffffffffffffffff
push ebx
push eax
mov byte [ebp - 4], 0x13
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x12
call fcn.10001293
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.100014f5
push dword [ebp + 0x18]
mov ecx, esi
call fcn.1003962f
mov ecx, dword [ebp + 0x20]
cmp ecx, ebx
je 0x1003b289
push 0xffffffffffffffff
push ebx
push dword [esi + 0xc]
call fcn.100014f5
mov ecx, dword [esi + 0xc]
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x48]
push eax
call fcn.100014f5
lea ecx, [ebp - 0x48]
jmp 0x1003bf2f
cmp edi, ebx
je 0x1003bf42
cmp dword [ebp - 0x50], ebx
je 0x1003bf42
lea ecx, [ebp + 0x18]
call fcn.10034574
cmp dword [edi + 0x24], ebx
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 0xf
je 0x1003b2dd
cmp dword [ebp - 0x4c], 0x10
jae 0x1003b2ce
lea eax, [ebp - 0x60]
lea ecx, [ebp + 0x18]
push ecx
push eax
lea ecx, [edi + 0x20]
call fcn.1004ecf4
jmp 0x1003b2ef
cmp dword [ebp - 0x4c], 0x10
jae 0x1003b2e6
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 0x18]
call fcn.10007717
lea ecx, [edi + 0x20]
call fcn.1004e68f
push dword [ebp + 0x18]
lea ecx, [ebp - 0x144]
call fcn.10001636
push dword [ebp + 0x10]
mov eax, dword [edi + 0x1ac]
push dword [ebp + 0x1c]
add edi, 0x158
push edi
lea ecx, [ebp - 0x144]
push ecx
push eax
mov byte [ebp - 4], 0x10
call fcn.1005187a
add esp, 0x14
push ebx
push 1
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0xf
call fcn.10001293
mov ecx, dword [ebp + 0x20]
cmp ecx, ebx
je 0x1003b34d
push dword [ebp + 0x18]
call fcn.10001619
mov ecx, dword [ebp + 0x18]
add ecx, 0xfffffff0
call fcn.10004f32
jmp 0x1003bf42
mov ecx, dword [ebp + 0x20]
cmp ecx, ebx
je 0x1003b370
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x64]
push eax
call fcn.100014f5
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x114], esp
push dword [ebp + 0x1c]
call fcn.10001636
push edi
mov ecx, esi
call fcn.100394eb
jmp 0x1003bf42
push dword [ebp + 0x14]
call fcn.10050bb6
pop ecx
jmp 0x1003bf42
cmp dword [ebp - 0x50], ebx
je 0x1003bf42
lea ecx, [ebp + 0x14]
call fcn.10034574
cmp dword [ebp - 0x4c], 0x10
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 0xb
jae 0x1003b3bf
lea eax, [ebp - 0x60]
lea ecx, [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x18]
push eax
add ecx, 0x20
call fcn.1004ecf4
push dword [ebp + 0x14]
lea ecx, [ebp - 0x48]
call fcn.10001636
push 0x100840ac
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.100015f3
push dword [ebp + 0x1c]
mov edi, 0x100840ac
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.10001619
push ebx
sub esp, 0x1c
lea eax, [ebp - 0x48]
mov ecx, esp
mov dword [ebp - 0x114], esp
push eax
call fcn.100015f3
lea eax, [ebp - 0x294]
push eax
call fcn.1000ea79
add esp, 0x24
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xe
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0xd
call fcn.10001293
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.100014f5
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x1003b45e
lea eax, [ebp - 0x44]
mov ecx, dword [ebp + 0x10]
add ecx, 0x50
push ecx
push ebx
push 0xa
push eax
call fcn.1005135f
mov ecx, dword [ebp + 0x20]
add esp, 0x10
cmp ecx, ebx
je 0x1003b484
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x48]
push eax
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.10001293
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.10001293
mov ecx, dword [ebp + 0x14]
jmp 0x1003b350
cmp dword [ebp - 0x50], ebx
je 0x1003bf42
mov ecx, dword [ebp + 0x20]
cmp ecx, ebx
je 0x1003b4be
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x64]
push eax
call fcn.100014f5
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp + 0x18], ebx
call fcn.100015f3
cmp dword [ebp - 0x14], 0x10
mov edi, dword [ebp - 0x28]
mov byte [ebp - 4], 7
jb 0x1003b4e2
mov dword [ebp - 0x114], edi
jmp 0x1003b4eb
lea eax, [ebp - 0x28]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x14], 0x10
jae 0x1003b4f4
lea edi, [ebp - 0x28]
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10005c44
push fcn.100592a5
push dword [ebp - 0x114]
push dword [eax]
lea eax, [ebp + 0x10]
push edi
push eax
call fcn.1004aad3
mov eax, dword [ebp - 0x28]
add esp, 0x14
cmp dword [ebp - 0x14], 0x10
jae 0x1003b529
lea eax, [ebp - 0x28]
push 0x1008842c
push eax
call fcn.10057d10
cmp eax, ebx
pop ecx
pop ecx
je 0x1003b5b7
cmp dword [ebp - 0x14], 0x10
mov ecx, dword [ebp - 0x28]
jae 0x1003b546
lea ecx, [ebp - 0x28]
sub eax, ecx
mov edi, eax
cmp edi, 0xffffffff
je 0x1003b5b7
push edi
push ebx
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x64]
call fcn.1000e891
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 7
call fcn.10001293
push 0xffffffffffffffff
add edi, 5
push edi
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x64]
call fcn.1000e891
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x1003b5a0
lea eax, [ebp - 0x44]
push eax
call fcn.10057b49
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x48]
mov dword [ebp + 0x18], eax
call fcn.10001293
jmp 0x1003b5c6
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x2c]
call fcn.100014f5
push 0x100840ac
lea ecx, [ebp - 0x80]
call fcn.100015f3
push dword [ebp + 0x1c]
mov edi, 0x100840ac
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.10001619
push ebx
sub esp, 0x1c
lea eax, [ebp - 0x2c]
mov ecx, esp
mov dword [ebp - 0x114], esp
push eax
call fcn.100015f3
lea eax, [ebp - 0x278]
push eax
call fcn.1000ea79
add esp, 0x24
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 9
call fcn.10001293
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x80]
push eax
mov ecx, edi
call fcn.100014f5
lea edi, [esi + 8]
mov ecx, edi
call fcn.10033ffb
test eax, eax
je 0x1003bf2c
mov ecx, edi
call fcn.10033ffb
imul eax, eax, 0x1c
mov ecx, dword [esi + 0xc]
lea eax, [eax + ecx - 0x1c]
cmp dword [eax + 0x18], 0x10
jb 0x1003b668
mov eax, dword [eax + 4]
jmp 0x1003b66b
add eax, 4
cmp dword [ebp - 0x14], 0x10
mov ecx, dword [ebp - 0x28]
jae 0x1003b677
lea ecx, [ebp - 0x28]
push ebx
push dword [ebp + 0x18]
push eax
push ecx
jmp 0x1003bf24
lea ecx, [esi + 8]
call fcn.10033ffb
test eax, eax
lea ecx, [edi + 0x190]
mov dword [ebp + 0x10], ecx
je 0x1003b6a5
mov eax, dword [esi + 0xc]
push 0xffffffffffffffff
push ebx
push eax
call fcn.100014f5
jmp 0x1003b6af
push 0x1006cd39
call fcn.10001619
push dword [ebp + 0x10]
lea ecx, [ebp - 0x48]
call fcn.100015f3
push 0x100840ac
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x14
call fcn.100015f3
push dword [ebp + 0x1c]
mov edi, 0x100840ac
mov ecx, edi
mov byte [ebp - 4], 0x15
call fcn.10001619
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x114], esp
push dword [ebp + 0x10]
call fcn.100015f3
lea eax, [ebp - 0x1d0]
push eax
call fcn.1000ea79
add esp, 0x24
mov ecx, dword [ebp + 0x10]
push 0xffffffffffffffff
push ebx
push eax
mov byte [ebp - 4], 0x16
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 0x15
call fcn.10001293
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x80]
push eax
mov ecx, edi
call fcn.100014f5
push dword [ebp + 0x18]
mov ecx, esi
call fcn.100344e6
mov ecx, dword [ebp + 0x10]
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x48]
push eax
call fcn.100014f5
lea ecx, [ebp - 0x80]
jmp 0x1003bc48
sub eax, 0x35
je 0x1003bd58
dec eax
je 0x1003bcbe
sub eax, 3
je 0x1003bc58
dec eax
dec eax
je 0x1003b9e6
sub eax, 3
je 0x1003b896
dec eax
jne 0x1003bf42
lea ecx, [esi + 8]
call fcn.10033ffb
cmp eax, 4
jb 0x1003bf42
push dword [ebp + 0x1c]
mov ecx, 0x100840ac
call fcn.10001619
push dword [esi + 0xc]
lea ecx, [ebp - 0x48]
call fcn.100015f3
push ebx
sub esp, 0x1c
lea eax, [ebp - 0x48]
mov ecx, esp
mov dword [ebp - 0x114], esp
push eax
mov byte [ebp - 4], 0x21
call fcn.100015f3
lea eax, [ebp - 0x240]
push eax
call fcn.1000ea79
add esp, 0x24
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x22
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x21
call fcn.10001293
lea ecx, [ebp - 0xf8]
call fcn.10016036
mov eax, dword [esi + 0xc]
sub esp, 0x1c
add eax, 0x54
mov ecx, esp
mov dword [ebp - 0x114], esp
push eax
mov byte [ebp - 4], 0x23
call fcn.100015f3
mov eax, dword [esi + 0xc]
sub esp, 0x1c
add eax, 0x38
mov ecx, esp
mov dword [ebp - 0x110], esp
push eax
mov byte [ebp - 4], 0x24
call fcn.100015f3
mov esi, dword [esi + 0xc]
sub esp, 0x1c
lea eax, [esi + 0x1c]
mov ecx, esp
mov dword [ebp - 0x124], esp
push eax
mov byte [ebp - 4], 0x25
call fcn.100015f3
sub esp, 0x1c
lea eax, [ebp - 0x48]
mov ecx, esp
mov dword [ebp - 0x118], esp
push eax
mov byte [ebp - 4], 0x26
call fcn.100015f3
mov eax, dword [edi + 0x1ac]
push 1
push eax
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x23
call fcn.100151cb
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x21
call fcn.10015fa8
jmp 0x1003bc50
lea ecx, [esi + 8]
call fcn.10033ffb
cmp eax, 2
jb 0x1003bf42
push dword [ebp + 0x1c]
mov edi, 0x100840ac
mov ecx, edi
call fcn.10001619
push dword [esi + 0xc]
lea ecx, [ebp - 0x2c]
call fcn.100015f3
mov esi, dword [esi + 0xc]
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1b
call fcn.100015f3
push ebx
sub esp, 0x1c
lea eax, [ebp - 0x2c]
mov ecx, esp
mov dword [ebp - 0x118], esp
push eax
mov byte [ebp - 4], 0x1c
call fcn.100015f3
lea eax, [ebp - 0x208]
push eax
call fcn.1000ea79
add esp, 0x24
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1d
call fcn.100014f5
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x1c
call fcn.10001293
push dword [ebp + 0x1c]
mov ecx, edi
call fcn.10001619
push ebx
sub esp, 0x1c
lea eax, [ebp - 0x48]
mov ecx, esp
mov dword [ebp - 0x118], esp
push eax
call fcn.100015f3
lea eax, [ebp - 0x17c]
push eax
call fcn.1000ea79
add esp, 0x24
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1e
call fcn.100014f5
push ebx
push esi
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x1c
call fcn.10001293
lea ecx, [ebp - 0x88]
call fcn.1000214e
sub esp, 0x1c
lea eax, [ebp - 0x48]
mov ecx, esp
mov dword [ebp - 0x118], esp
push eax
mov byte [ebp - 4], 0x1f
call fcn.100015f3
sub esp, 0x1c
mov byte [ebp - 4], 0x20
mov ecx, esp
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x124], esp
push eax
call fcn.100015f3
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x1ac]
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x1f
call fcn.100021a6
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x1c
call fcn.1000218b
push ebx
push esi
lea ecx, [ebp - 0x48]
call fcn.10001293
push ebx
push esi
lea ecx, [ebp - 0x2c]
jmp 0x1003bf3d
lea ecx, [esi + 8]
call fcn.10033ffb
cmp eax, 5
jne 0x1003b9fc
mov dword [ebp + 0x14], 1
jmp 0x1003ba08
cmp eax, 4
jne 0x1003bf42
mov dword [ebp + 0x14], ebx
push dword [ebp + 0x1c]
mov edi, 0x100840ac
mov ecx, edi
call fcn.10001619
push ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x30], 0xf
call fcn.1000125d
push ebx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.1000125d
mov eax, dword [esi + 0xc]
push 0xffffffffffffffff
add eax, 0x38
push ebx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x18
call fcn.100014f5
mov eax, dword [esi + 0xc]
push 0xffffffffffffffff
add eax, 0x54
push ebx
push eax
lea ecx, [ebp - 0x2c]
call fcn.100014f5
push ebx
sub esp, 0x1c
lea eax, [ebp - 0x48]
mov ecx, esp
mov dword [ebp - 0x118], esp
push eax
call fcn.100015f3
lea eax, [ebp - 0x1b4]
push eax
call fcn.1000ea79
add esp, 0x24
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x19
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0x18
call fcn.10001293
push dword [ebp + 0x1c]
mov ecx, edi
call fcn.10001619
push ebx
sub esp, 0x1c
lea eax, [ebp - 0x2c]
mov ecx, esp
mov dword [ebp - 0x118], esp
push eax
call fcn.100015f3
lea eax, [ebp - 0x1ec]
push eax
call fcn.1000ea79
add esp, 0x24
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1a
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 0x18
call fcn.10001293
push ebx
lea ecx, [esi + 8]
call fcn.100380a0
cmp dword [eax + 0x18], 0x10
jb 0x1003bb09
mov eax, dword [eax + 4]
jmp 0x1003bb0c
add eax, 4
push eax
call fcn.10057bd1
push 0xa
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x20], ebx
call fcn.100556e2
push 0xa
push ebx
push eax
mov dword [ebp - 0x110], eax
call fcn.10056960
add esp, 0x14
lea edi, [esi + 8]
push ebx
mov ecx, edi
call fcn.100380a0
cmp dword [eax + 0x18], 0x10
jb 0x1003bb47
mov eax, dword [eax + 4]
jmp 0x1003bb4a
add eax, 4
push 0x1006d118
push eax
call fcn.10057d10
cmp eax, ebx
pop ecx
pop ecx
je 0x1003bb66
inc eax
push eax
call fcn.10057bd1
pop ecx
mov dword [ebp + 0x20], eax
push dword [ebp - 0x110]
call fcn.100569c0
push 0xa
call fcn.100556e2
pop ecx
pop ecx
push 1
mov ecx, edi
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
call fcn.100380a0
cmp dword [eax + 0x18], 0x10
jb 0x1003bb9a
mov eax, dword [eax + 4]
jmp 0x1003bb9d
add eax, 4
push eax
call fcn.10057bd1
push 0xa
push ebx
push dword [ebp - 0x114]
mov dword [ebp + 0x1c], eax
mov dword [ebp + 8], ebx
call fcn.10056960
add esp, 0x10
push 1
mov ecx, edi
call fcn.100380a0
cmp dword [eax + 0x18], 0x10
jb 0x1003bbce
mov eax, dword [eax + 4]
jmp 0x1003bbd1
add eax, 4
push 0x1006d118
push eax
call fcn.10057d10
cmp eax, ebx
pop ecx
pop ecx
je 0x1003bbee
inc eax
push eax
call fcn.10057bd1
pop ecx
mov edi, eax
jmp 0x1003bbf1
mov edi, dword [ebp + 8]
push dword [ebp - 0x110]
call fcn.100569c0
mov edx, dword [ebp + 0x20]
cmp edx, dword [ebp + 0x10]
pop ecx
jge 0x1003bc08
mov edx, dword [ebp + 0x10]
cmp edi, dword [ebp + 0x1c]
jge 0x1003bc10
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0x14], 0x10
mov ecx, dword [ebp - 0x28]
jae 0x1003bc1c
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x1003bc28
lea eax, [ebp - 0x44]
push dword [ebp + 0x14]
push ecx
push eax
mov eax, dword [ebp + 0x18]
push edi
push dword [ebp + 0x1c]
mov ecx, esi
push edx
push dword [ebp + 0x10]
push dword [eax + 0x1ac]
call fcn.10033ea9
lea ecx, [ebp - 0x2c]
push ebx
push 1
call fcn.10001293
lea ecx, [ebp - 0x48]
jmp 0x1003bf3a
lea ecx, [esi + 8]
call fcn.10033ffb
cmp eax, 3
jb 0x1003bf42
mov ecx, dword [esi + 0xc]
add ecx, 0x1c
push 0x1006cd39
call fcn.10006396
test eax, eax
je 0x1003bc91
mov eax, dword [esi + 0xc]
add eax, 0x1c
cmp dword [eax + 0x18], 0x10
jb 0x1003bc8e
mov eax, dword [eax + 4]
jmp 0x1003bc91
add eax, 4
mov esi, dword [esi + 0xc]
cmp dword [esi + 0x50], 0x10
jb 0x1003bc9f
mov ecx, dword [esi + 0x3c]
jmp 0x1003bca2
lea ecx, [esi + 0x3c]
cmp dword [esi + 0x18], 0x10
jb 0x1003bcad
mov esi, dword [esi + 4]
jmp 0x1003bcb0
add esi, 4
push ecx
push eax
push esi
call dword [0x10085de0]
jmp 0x1003bf42
cmp dword [edi + 0x1b4], ebx
je 0x1003bf42
cmp dword [edi + 0x1ac], ebx
je 0x1003bf42
push str.google
push dword [ebp + 8]
call fcn.10057d10
test eax, eax
pop ecx
pop ecx
je 0x1003bcf7
push ebx
push 1
push 0x100856d0
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
lea ecx, [edi + 0x1ac]
mov dword [ebp - 0x110], ebx
call fcn.1000d6fe
mov ecx, dword [eax]
lea edx, [ebp - 0x110]
push edx
push eax
call dword [ecx + 0x94]
cmp dword [ebp - 0x110], ebx
je 0x1003bd45
push dword [ebp - 0x110]
add esi, 8
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x118], esp
push esi
call fcn.10018cab
mov ecx, dword [edi + 0x1b4]
call fcn.10015eb9
push dword [ebp + 0x1c]
mov ecx, dword [edi + 0x1b4]
call fcn.10001619
jmp 0x1003bf42
lea ecx, [esi + 8]
call fcn.10033ffb
cmp eax, 2
jbe 0x1003bf42
push dword [esi + 0xc]
lea ecx, [ebp - 0x2c]
call fcn.100015f3
mov eax, dword [esi + 0xc]
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 3
call fcn.100014f5
cmp dword [ebp - 0x14], 0x10
mov edi, dword [ebp - 0x28]
mov dword [ebp + 0x18], ebx
jb 0x1003bd9b
mov dword [ebp - 0x114], edi
jmp 0x1003bda4
lea eax, [ebp - 0x28]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x14], 0x10
jae 0x1003bdad
lea edi, [ebp - 0x28]
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10005c44
push fcn.100592a5
push dword [ebp - 0x114]
push dword [eax]
lea eax, [ebp + 0x10]
push edi
push eax
call fcn.1004aad3
mov eax, dword [ebp - 0x28]
add esp, 0x14
cmp dword [ebp - 0x14], 0x10
jae 0x1003bde2
lea eax, [ebp - 0x28]
push 0x1008842c
push eax
call fcn.10057d10
cmp eax, ebx
pop ecx
pop ecx
je 0x1003be70
cmp dword [ebp - 0x14], 0x10
mov ecx, dword [ebp - 0x28]
jae 0x1003bdff
lea ecx, [ebp - 0x28]
sub eax, ecx
mov edi, eax
cmp edi, 0xffffffff
je 0x1003be70
push edi
push ebx
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x64]
call fcn.1000e891
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 3
call fcn.10001293
push 0xffffffffffffffff
add edi, 5
push edi
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x64]
call fcn.1000e891
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x1003be59
lea eax, [ebp - 0x44]
push eax
call fcn.10057b49
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x48]
mov dword [ebp + 0x18], eax
call fcn.10001293
jmp 0x1003be7f
mov eax, dword [esi + 0xc]
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
call fcn.100014f5
push 0x100840ac
lea ecx, [ebp - 0x80]
call fcn.100015f3
push dword [ebp + 0x1c]
mov edi, 0x100840ac
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.10001619
push ebx
sub esp, 0x1c
lea eax, [ebp - 0x2c]
mov ecx, esp
mov dword [ebp - 0x118], esp
push eax
call fcn.100015f3
lea eax, [ebp - 0x25c]
push eax
call fcn.1000ea79
add esp, 0x24
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.100014f5
push ebx
push 1
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 5
call fcn.10001293
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x80]
push eax
mov ecx, edi
call fcn.100014f5
mov esi, dword [esi + 0xc]
cmp dword [esi + 0x50], 0x10
jb 0x1003bf01
mov ecx, dword [esi + 0x3c]
jmp 0x1003bf04
lea ecx, [esi + 0x3c]
cmp dword [esi + 0x34], 0x10
jb 0x1003bf0f
mov esi, dword [esi + 0x20]
jmp 0x1003bf12
add esi, 0x20
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x1003bf1e
lea eax, [ebp - 0x28]
push ecx
push dword [ebp + 0x18]
push esi
push eax
call fcn.10050e27
add esp, 0x10
lea ecx, [ebp - 0x80]
push ebx
push 1
call fcn.10001293
lea ecx, [ebp - 0x2c]
push ebx
push 1
call fcn.10001293
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.10001293
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.100568ae
pop edi
pop esi
pop ebx
leave
ret 0x20