Function at 0x1003fce7
Capabilities:
Accept command line arguments
Delete file
Set thread local storage value

Disassembly:
mov eax, 0x10063991
call fcn.10061a48
sub esp, 0x648
push ebx
push esi
xor ebx, ebx
xor ecx, ecx
push edi
mov dword [ebp - 0x10], esp
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x1003fd11
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x70], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003fd07
mov dword [ebp - 0x1c], ebx
jmp 0x1003fd2c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9c], 0x251d69f4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003fd1b
mov dword [ebp - 0x70], ebx
jmp 0x1003fd77
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x18], ebx
jmp 0x1003fd4f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x9c], 0x91f782a1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003fd3e
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], bl
je 0x1003fd74
push 0x7a7d
push ecx
push 0x4576
mov dl, cl
call fcn.1003afd0
xor ecx, ecx
add esp, 0xc
inc ecx
dec dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0xfffffffc
je 0x1003fd36
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x9c]
sub edx, 0xaa2d
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x9c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x9c]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x70]
setg cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x9c]
setl cl
neg eax
add edx, ecx
xor ecx, ecx
neg edx
cmp eax, edx
setg cl
imul eax, ecx, 0xfff8
add eax, dword [ebp - 0x9c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x24], 0x41fd9d08
mov dword [ebp - 0x18], ebx
jmp 0x1003fe0f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x15c], 0xf73838a1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003fdfe
inc dword [ebp - 0x15c]
xor ecx, ecx
mov dword [ebp - 0x20], ebx
inc ecx
jmp 0x1003feba
mov dword [ebp - 0x38], 0x7d96711d
mov dword [ebp - 0x18], ebx
jmp 0x1003fe43
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x140], 0x80849f84
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003fe32
mov dword [ebp - 0x13c], ecx
cmp dword [ebp - 0x13c], ebx
jl 0x1003feb7
mov dword [ebp - 0x18], ebx
jmp 0x1003fe6d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x45c], 0x3d3b0cf5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003fe5c
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x15c]
mov eax, dword [ebp - 0x15c]
cmp dword [ebp - 0x15c], ebx
je 0x1003fe8e
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x13c]
xor ecx, ecx
mov edx, dword [ebp - 0x24]
sub edx, eax
mov eax, dword [ebp - 0x20]
cmp edx, eax
setne cl
mov dword [ebp - 0x454], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x13c]
jns 0x1003fe57
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x1003fe26
mov eax, dword [0x1017d484]
test cl, al
jne 0x1003ff02
or eax, ecx
mov dword [0x1017d484], eax
mov dword [ebp - 4], ebx
mov dword [0x1017d478], ebx
mov dword [0x1017d47c], ebx
call fcn.1004468a
push 0x10063c98
mov dword [0x1017d478], eax
call fcn.1004af52
pop ecx
or esi, 0xffffffff
xor ecx, ecx
mov dword [ebp - 4], esi
inc ecx
jmp 0x1003ff05
or esi, 0xffffffff
cmp byte [0x1017bf25], 0
je 0x10040060
mov dword [ebp - 0x28], 0xfffffffe
lea ecx, [ebp - 0x2e4]
mov dword [ebp - 0x24], 0xe34b64b5
push 3
call fcn.10004e62
mov dword [ebp - 4], 1
mov dword [ebp - 0x18], 0x6eed1e12
mov dword [ebp - 0x20], 0x4a6e8f59
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], 0x467bb1a8
mov dword [ebp - 0x60], ebx
jmp 0x1003ff62
mov eax, dword [ebp - 0x60]
mov dword [ebp + eax*4 - 0x4d0], 0xffff
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], 4
jl 0x1003ff51
sub esp, 0xc
lea eax, [ebp - 0x2e4]
lea edx, [ebp - 0x60]
mov ecx, 0x2fea
push eax
push ebx
call fcn.1003b91f
add esp, 0x14
mov dword [ebp - 0x60], ebx
jmp 0x1003ff99
mov eax, dword [ebp - 0x60]
mov dword [ebp + eax*4 - 0x468], 0x62b50098
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], 3
jl 0x1003ff88
dec dword [ebp - 0x18]
jne 0x1003ffe2
cmp dword [ebp - 0x18], ebx
jne 0x1003ffe2
mov eax, dword [ebp - 0x2e4]
cmp dword [eax + 8], ebx
jne 0x1003ffbd
cmp dword [ebp - 0x28], ebx
jne 0x1003ffbd
mov eax, ebx
jmp 0x1003ffc0
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x20], ebx
jne 0x1003ffe2
mov ecx, ebx
jmp 0x1003ffe5
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x28]
neg ecx
mov dword [ebp - 0x24], eax
xor edx, edx
mov eax, dword [ebp - 0x2e4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x24]
add eax, 0xffff0001
add ecx, eax
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
inc ecx
jne 0x1004001c
cmp dword [ebp - 0x1c], ebx
je 0x1004001f
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp eax, ebx
mov dword [ebp - 0x4c4], eax
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x464], ecx
lea ecx, [ebp - 0x2e4]
call fcn.10004ee5
mov ecx, dword [ebp - 0xc]
mov eax, 0x1017d478
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6c30
push ecx
push 0x35d5
push 0x3c8e
push 0x5d77
push 0x1017bf25
push 0x1c86
push ecx
xor dl, dl
mov ecx, 0x92b
call fcn.1003ea61
add esp, 0x20
mov dword [ebp - 0x1c], 0x42a4
mov dword [ebp - 0x18], 1
lea ecx, [ebp - 0x23c]
push 3
call fcn.10004e62
lea eax, [ebp - 0x41c]
mov dword [ebp - 4], 2
push eax
push ecx
push ecx
mov dword [ebp - 0x154], 3
lea ecx, [ebp - 0x23c]
push ebx
call fcn.1003b814
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x1c]
add esp, 0x10
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x23c]
setle cl
xor edx, edx
cmp ecx, dword [eax]
setne dl
xor ecx, ecx
add edx, dword [eax + 4]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
mov eax, dword [ebp - 0x23c]
setl cl
sub ecx, dword [eax + 8]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, esi
setg al
xor edx, edx
imul ecx, eax, 0x79cc
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x23c]
setle dl
xor ecx, ecx
cmp edx, 0x18e50348
setle cl
imul ecx, dword [eax]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], ecx
xor ecx, ecx
cmp dword [ebp - 0x38], eax
setge cl
xor eax, eax
cmp ecx, 8
setge al
add eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1c], 0xf
jmp 0x100401f1
push 3
lea ecx, [ebp - 0x314]
call fcn.10004e62
sub esp, 0xc
mov byte [ebp - 4], 3
lea eax, [ebp - 0x314]
mov dword [ebp - 0x22c], 0x7fb07d0d
lea edx, [ebp - 0x420]
mov ecx, 0x6bb3
push eax
push ebx
call fcn.1003dfa1
add esp, 0x14
lea eax, [ebp - 0x154]
lea edx, [ebp - 0x314]
mov ecx, 0x1d7b
push 0xbf7
push 1
push eax
lea eax, [ebp - 0x22c]
push eax
push 1
push 0x6978
push 1
push 0x321b
push 0x509d
call fcn.1003c841
add esp, 0x24
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x314]
call fcn.10004ee5
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff9
je 0x1004016b
lea ecx, [ebp - 0x23c]
mov dword [ebp - 4], esi
call fcn.10004ee5
mov dword [ebp - 0xd8], 0x1007aaf0
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x1c], 0x3ae35568
mov dword [ebp - 0x24], 0x402f
cmp dword [ebp - 0x24], 0x4267
jle 0x10040264
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetRgnBox]
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x1007d9f8
cdq
push edx
push eax
call fcn.10004c38
inc edi
cmp edi, 0x6f1d
jl 0x1004023c
inc esi
cmp esi, 0x3630
jl 0x1004023a
or esi, 0xffffffff
push 4
mov dword [ebp - 0x20], 0x986d6dbc
pop edi
mov dword [ebp - 4], edi
cmp dword [ebp - 0x24], 0x3e2f
jge 0x100402ad
mov edx, str.zjg_zeqdbk_eyhdbkoqx_ahyxg_zrtcq
mov ecx, 0x1007d9f8
call fcn.100070aa
jmp 0x100402ad
mov dword [ebp - 4], esi
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x38], 0x9a53aa48
mov dword [ebp - 0x268], 0x5b2841c2
mov dword [ebp - 0x1c], ebx
jmp 0x100402de
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x474], 0xc6516eae
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100402cd
mov dword [ebp - 0x1c], ebx
jmp 0x100402fa
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4dc], 0xb711a46c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100402e9
mov dword [ebp - 0x1c], ebx
jmp 0x100404c8
mov dword [ebp - 0x2c], ebx
lea ecx, [ebp - 0x2cc]
mov dword [ebp - 0x28], 0xfff9
mov dword [ebp - 0x38], 0x7023
mov dword [ebp - 0x34], 0xfffffff7
push 1
call fcn.10004e62
mov dword [ebp - 4], 6
mov dword [ebp - 0x24], 0x3b350b83
mov dword [ebp - 0x18], ebx
jmp 0x10040353
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2cc]
mov dword [eax + ecx*4], 0x355901a7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10040340
xor dl, dl
call fcn.1003c67b
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x1c], ebx
jne 0x1004036c
mov eax, ebx
jmp 0x1004036f
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov edx, 0xa306
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
sub eax, 0xfffffff0
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
sub edx, eax
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0x9973
setl al
xor edx, edx
imul ecx, eax, 0xd62a
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x38]
sub edx, 0xe4c7
cmp dword [ebp - 0x2c], edx
jle 0x100404af
mov dword [ebp - 0x4c], 0x47a0ca4d
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
sub eax, 0x8c32619c
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setle dl
xor eax, eax
cmp edx, esi
setg al
xor edx, edx
imul eax, eax, 0xa543
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2cc]
mov dword [eax], 0xd0f373a9
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x24]
cmp eax, 0x3a3b
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x18]
je 0x1004044a
mov eax, dword [ebp - 0x470]
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x268]
mov eax, dword [ebp - 0x18]
mov edx, 0x673a
push 0x1466
push 0x5186
push 0x2d74
push 0x6c33
push 0x1ebd
push 0x58a4
push 0x44e
push 0x62da
xor eax, eax
inc eax
push eax
push eax
push 0x52c6
push ebx
push 0x3f21
push 0x7966
push 0x257f
push 0x117f
mov dword [ebp - 0x20], eax
call fcn.1003bd8f
add esp, 0x40
jmp 0x100404b7
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], ebx
jne 0x100404d4
lea ecx, [ebp - 0x2cc]
mov dword [ebp - 4], esi
call fcn.10004ee5
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffe
jge 0x10040308
jmp 0x100404e2
lea ecx, [ebp - 0x2cc]
mov dword [ebp - 4], esi
call fcn.10004ee5
push 0xc
pop edx
mov dword [ebp - 0x100], edx
cmp edx, 0xe0
jge 0x100408a6
mov dword [ebp - 0x24], 0x1541
cmp dword [ebp - 0x24], 0x168b
jle 0x10040563
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov esi, ebx
lea eax, [esi + edi]
xor eax, ecx
lea ecx, [ebp - 0x524]
cdq
push edx
push eax
call fcn.10001a95
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004052d
mov eax, dword [eax]
push eax
call fcn.1004af7c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x524]
call fcn.10005365
mov ecx, dword [ebp - 0x18]
inc esi
cmp esi, 0x38d7
jl 0x10040510
inc edi
cmp edi, 0x39ce
jl 0x1004050e
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x3017
jl 0x1004050c
mov dword [ebp - 0x48], 0xcb50bf34
xor ecx, ecx
mov dword [ebp - 0x6c], 0xfffffffd
mov dword [ebp - 0x20], 5
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
test eax, eax
mov eax, dword [ebp - 0x48]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x48]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
sete cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x38]
setle cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
je 0x100405c5
cmp dword [ebp - 0x6c], ebx
je 0x100405c5
xor eax, eax
inc eax
jmp 0x100405c7
mov eax, ebx
neg eax
jne 0x100405d0
cmp dword [ebp - 0x6c], ebx
je 0x100405d3
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x48]
jge 0x100405f5
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
sub eax, 0x2f8c2b3c
je 0x10040608
cmp dword [ebp - 0x6c], ebx
jne 0x10040608
mov edx, ebx
jmp 0x1004060b
xor edx, edx
inc edx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setg cl
xor edx, edx
cmp ecx, 0xfe1f
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x48]
setl cl
sub ecx, eax
je 0x100406c0
mov dword [ebp - 0x18], ebx
jmp 0x1004064b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x338], 0x8d3b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1004063a
lea eax, [ebp - 0x6c]
push eax
push ebx
push ecx
call fcn.1003f917
add esp, 0xc
cmp dword [ebp - 0x20], ebx
jne 0x1004066e
mov eax, dword [ebp - 0x6c]
mov ecx, ebx
mov eax, dword [ebp - 0x20]
jmp 0x10040671
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x330]
imul eax, ecx
xor ecx, ecx
push 4
pop edi
cmp eax, 2
mov eax, dword [ebp - 0x20]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setl dl
imul edx, eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], edx
xor edx, edx
cmp eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x338]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x330]
sete cl
add eax, ecx
or esi, 0xffffffff
mov dword [ebp - 0x6c], eax
jmp 0x10040719
push 4
pop edi
push edi
lea ecx, [ebp - 0x3a4]
call fcn.10004e62
lea eax, [ebp - 0x3a4]
mov dword [ebp - 4], 7
push eax
push ecx
lea eax, [ebp - 0x3fc]
push eax
push 1
call fcn.1003e3ce
add esp, 0xc
lea edx, [ebp - 0x3a4]
mov ecx, 0x1114
push 0x1f76
push ebx
call fcn.1003cd42
add esp, 0xc
lea ecx, [ebp - 0x3a4]
or esi, 0xffffffff
mov dword [ebp - 4], esi
call fcn.10004ee5
push 1
push 0x6da4
push ebx
push 0x7db4
push 0x5b9a
push ebx
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x6c]
call fcn.1003cf48
add esp, 0x18
cmp dword [ebp - 0x24], 0x1466
jge 0x1004074e
push str.dgpiacns_kbtcildlk_pgwjgweyg
call fcn.1004af7c
pop ecx
mov dword [ebp - 4], esi
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x100]
mov al, byte [ecx]
cmp al, byte [edx + ecx]
je 0x1004076a
inc edx
jmp 0x100404e5
xor eax, eax
mov dword [ebp - 0x208], 0xe0648261
inc eax
mov dword [ebp - 0x150], 0xf5872d9e
push eax
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x40c], eax
push ecx
lea ecx, [ebp - 0x208]
mov dl, al
push ecx
push eax
push ecx
mov ecx, 0x16a4
call fcn.1003c8cf
add esp, 0x14
lea eax, [ebp - 0x150]
mov edx, 0x5c2
mov ecx, 0x54f8
push 1
push ebx
push 1
push 0x1e28
push eax
call fcn.1003e4c8
add esp, 0x14
lea eax, [ebp - 0x108]
mov dl, 1
push eax
lea eax, [ebp - 0x100]
push eax
push ecx
mov ecx, 0x2638
call fcn.1003cbc6
mov dword [ebp - 0x7c], 0xea75c96
lea ecx, [ebp - 0x350]
add esp, 0xc
mov dword [ebp - 0x1d8], 9
mov dword [ebp - 0x1d4], 9
mov dword [ebp - 0x1d0], 9
mov dword [ebp - 0x1cc], 9
mov dword [ebp - 0x7c], 0xb227d373
push edi
call fcn.10004e62
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x18], ebx
jmp 0x10040845
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x350]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10040836
push ebx
lea eax, [ebp - 0x350]
mov edx, 0x179e
push eax
push 1
push 0x16cb
push 0x3ee0
push 1
mov ecx, 0x3829
call fcn.1003cf48
mov byte [ebp - 0x39], bl
add esp, 0x18
cmp byte [ebp - 0x39], 0
je 0x10040898
push ebx
push 0x7bc0
push 0x4e02
push 1
push ecx
xor dl, dl
mov ecx, 0x2b42
call fcn.1003c8cf
add esp, 0x14
lea ecx, [ebp - 0x350]
mov dword [ebp - 4], esi
call fcn.10004ee5
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x24], 0x41fd9d08
mov dword [ebp - 0x18], ebx
jmp 0x100408ca
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x138], 0xf73838a1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100408b9
inc dword [ebp - 0x138]
xor ecx, ecx
mov dword [ebp - 0x20], ebx
inc ecx
jmp 0x10040975
mov dword [ebp - 0x38], 0x7d96711d
mov dword [ebp - 0x18], ebx
jmp 0x100408fe
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x124], 0x80849f84
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100408ed
mov dword [ebp - 0x120], ecx
cmp dword [ebp - 0x120], ebx
jl 0x10040972
mov dword [ebp - 0x18], ebx
jmp 0x10040928
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48c], 0x3d3b0cf5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10040917
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x138]
mov eax, dword [ebp - 0x138]
cmp dword [ebp - 0x138], ebx
je 0x10040949
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x120]
sub edx, eax
mov eax, dword [ebp - 0x20]
cmp edx, eax
setne cl
mov dword [ebp - 0x484], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x120]
jns 0x10040912
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x100408e1
mov dword [ebp - 0x1f4], edi
mov dword [ebp - 0x4c], 0x5756
cmp dword [ebp - 0x4c], 0x5864
jle 0x100409e5
mov edi, ebx
mov esi, ebx
mov eax, edi
lea ecx, [ebp - 0x5b4]
cdq
idiv esi
mov eax, edx
cdq
push edx
push eax
call fcn.10001a95
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100409b7
mov eax, dword [eax]
push eax
call fcn.1004af7c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x5b4]
call fcn.10005365
inc esi
cmp esi, 0xf20
jl 0x10040998
inc edi
cmp edi, 0x4c01
jl 0x10040996
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileType]
mov dword [ebp - 0xf8], 0x4a2a
lea ecx, [ebp - 0x2a8]
push 3
call fcn.10004e62
xor eax, eax
mov dword [ebp - 4], 0xb
inc eax
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x20], eax
push eax
call fcn.10004e62
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2fc]
mov dword [ebp - 0x18], ebx
push 1
call fcn.10004e62
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0xd
push eax
push 1
push 0x369f
push 0x3735
push 1
push 0x7631
push ebx
lea eax, [ebp - 0x74]
mov dword [ebp - 0x24], 0x6221
push 0x2a62
mov dword [ebp - 0x30], 0x13999ea3
mov edx, 0x2fb7
mov dword [ebp - 0x44], 0x3ecb
mov ecx, 0x7778
push eax
call fcn.1003c841
add esp, 0x24
lea eax, [ebp - 0x74]
mov edx, 0x4c32
push eax
push 1
push ecx
lea ecx, [ebp - 0x180]
call fcn.1003c98e
add esp, 0xc
lea eax, [ebp - 0x74]
mov edx, 0x3746
lea ecx, [ebp - 0x2fc]
push 0x77cd
push ebx
push 0x2ac7
push 0x1c54
push 1
push 0x5bdc
push 1
push eax
push 0x13f7
call fcn.1003c841
add esp, 0x24
mov dword [ebp - 0x74], ebx
jmp 0x10040add
mov eax, dword [ebp - 0x74]
mov dword [ebp + eax*4 - 0x4a4], 0xf360
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 3
jl 0x10040acc
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x2a8]
mov dword [eax], ecx
test ecx, ecx
je 0x10040b0c
inc dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x180]
cmp ecx, dword [eax]
jle 0x10040b0c
xor edx, edx
inc edx
mov eax, edx
jmp 0x10040b11
xor edx, edx
mov eax, ebx
inc edx
xor ecx, ecx
cmp eax, edx
sete cl
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x180]
mov dword [eax], ecx
mov eax, dword [ebp - 0x2fc]
cmp dword [eax], ebx
je 0x10040b71
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x220], edx
push eax
push ecx
lea eax, [ebp - 0x220]
mov dword [ebp - 0x1c8], 0x69bad970
push eax
push 0x31d5
lea eax, [ebp - 0x180]
mov cl, dl
push eax
lea eax, [ebp - 0x1c8]
push eax
call fcn.1003b622
add esp, 0x18
or edi, 0xffffffff
jmp 0x10040c77
or edi, 0xffffffff
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x38], 0x3ae864ea
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], ebx
jmp 0x10040b9a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4b0], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10040b89
mov dword [ebp - 0x1c], ebx
jmp 0x10040bb6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x440], 8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10040ba5
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x2fc]
setge dl
xor ecx, ecx
cmp edx, dword [eax]
setge cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
test eax, eax
setg cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
cmp eax, 0x38976cc2
mov eax, dword [ebp - 0xf8]
setg dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x28]
cmp eax, edx
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2a8]
setl dl
xor ecx, ecx
mov dword [ebp - 0x4b0], edx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x28]
setle cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
cmp dword [ebp - 0x38], eax
setl cl
xor edx, edx
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4a0]
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [ebp - 0x43c], edx
mov eax, dword [ebp - 0x44]
cmp edx, eax
sete cl
imul ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x180]
mov dword [eax], ecx
lea ecx, [ebp - 0x2fc]
call fcn.10004ee5
lea ecx, [ebp - 0x180]
call fcn.10004ee5
lea ecx, [ebp - 0x2a8]
call fcn.10004ee5
cmp dword [ebp - 0x4c], 0x55ee
jge 0x10040cac
push str.dpln_odtpmm_gfstojgax_vbinzoybb_lccpz
call fcn.1004af7c
pop ecx
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x2c0]
mov al, byte [0x1007abd0]
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x14c], 0x1007abd0
mov dword [ebp - 0x18], 0x6e60b0c
mov dword [ebp - 0x1c], 0x82ca9683
push 4
pop eax
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x4c], 0xfffffffb
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x20], 0xb8e136dc
push 2
call fcn.10004e62
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x5c], ebx
jmp 0x10040d1c
mov eax, dword [ebp - 0x5c]
mov dword [ebp + eax*4 - 0x1dc], 0xfffffff9
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 1
jl 0x10040d0b
push ebx
push 1
push 0x55b3
lea eax, [ebp - 0x5c]
mov ecx, 0x2f9c
push eax
push 0x616e
push ebx
push 0x2bae
lea edx, [ebp - 0x2c0]
call fcn.1003d5fe
add esp, 0x1c
mov dword [ebp - 0x5c], ebx
jmp 0x10040d62
mov eax, dword [ebp - 0x5c]
mov dword [ebp + eax*4 - 0x408], 1
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 3
jl 0x10040d51
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x28]
jne 0x10040d9a
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 0x2c0]
cmp eax, 0x3e2e1665
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x34]
setl cl
sub ecx, dword [edx + 4]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x404]
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
cmp dword [ebp - 0x18], eax
jl 0x10040dbd
cmp dword [ebp - 0x24], ebx
jne 0x10040dbd
mov ecx, ebx
jmp 0x10040dc0
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0x1448
setne al
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc4]
dec eax
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x78]
jle 0x10040e0e
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x10040f0b
push 1
push ecx
push ecx
mov dl, 1
call fcn.1003cb4b
add esp, 0xc
jmp 0x10040f0b
mov dword [ebp - 0x10c], 0x18a8
mov dword [ebp - 0x24], 0x1916dc91
mov dword [ebp - 0x18], ebx
jmp 0x10040e31
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x498], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10040e24
mov dword [ebp - 0x78], ebx
cmp dword [ebp - 0x78], 0xffffffe5
jg 0x10040f02
mov esi, dword [ebp - 0x2c0]
push ebx
push 0x3eca
push 0x2353
push ecx
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x18], 0x485e09b7
push eax
lea edx, [ebp - 0xc4]
lea ecx, [ebp - 0x78]
call fcn.1003f9d2
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [esi + 4]
add esp, 0x14
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x24]
cmp eax, edi
mov eax, dword [ebp - 0x34]
setne cl
add ecx, 0xca64a9b1
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, dword [esi + 4]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
imul eax, edx
xor edx, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x1dc]
setge dl
imul edx, eax
mov eax, dword [ebp - 0x18]
imul eax, edx
imul eax, eax, 7
mov dword [ebp - 0x490], eax
dec dword [ebp - 0x78]
cmp dword [ebp - 0x78], 0xffffffe5
jle 0x10040e4a
mov eax, dword [ebp - 0x404]
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 4], edi
call fcn.10004ee5
mov eax, dword [ebp - 0xd8]
mov cl, byte [0x1007abd0]
mov dl, byte [eax]
call fcn.100446b5
mov byte [0x1007abd0], al
mov dword [ebp - 0x18], ebx
jmp 0x10040f47
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x130], 0xcff0ea75
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10040f36
mov dword [ebp - 0x12c], 0xffffffe8
jmp 0x10040f7e
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x10040f78
push ecx
push 0x797a
push ecx
push 1
mov edx, 0x59f4
call fcn.1003cfdc
add esp, 0x10
inc dword [ebp - 0x12c]
cmp dword [ebp - 0x12c], 0xfffffff3
jl 0x10040f59
mov eax, dword [ebp - 0xd8]
xor edi, edi
mov esi, dword [ebp - 0x108]
inc edi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], esi
mov eax, edi
mov cl, byte [edi + 0x1007abd0]
cdq
idiv esi
mov byte [ebp - 0x97], cl
mov esi, edx
mov dl, byte [ebp - 0x4d]
call fcn.100446b5
mov ecx, dword [ebp - 0x38]
mov dl, byte [esi + ecx]
mov cl, al
call fcn.100446b5
push 3
lea ecx, [ebp - 0x438]
mov byte [edi + 0x1007abd0], al
call fcn.10004e62
push 2
lea ecx, [ebp - 0x38c]
mov dword [ebp - 4], 0x11
call fcn.10004e62
push ebx
push 1
push 1
mov byte [ebp - 4], 0x12
lea edx, [ebp - 0x1e4]
push 0x59cd
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x128], 0xc5416513
call fcn.1003b6ba
add esp, 0xc
lea eax, [ebp - 0x1e4]
lea edx, [ebp - 0x38c]
xor cl, cl
push eax
call fcn.1003ba2b
push 0x45d9
push 1
push 1
push 0x66c6
lea eax, [ebp - 0x128]
xor dl, dl
push 0x5db7
push eax
lea ecx, [ebp - 0x38c]
call fcn.1003d95d
push 1
push 0x49e2
push 1
lea eax, [ebp - 0x128]
mov edx, 0x86b
push eax
push 0x71e7
push ebx
mov ecx, 0x5112
call fcn.1003cf48
add esp, 0x38
lea ecx, [ebp - 0x38c]
call fcn.10004ee5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x438]
call fcn.10004ee5
push ebx
lea eax, [ebp - 0x97]
push eax
push ecx
push ecx
lea edx, [ebp - 0x4d]
call fcn.1003b900
mov esi, dword [ebp - 0x30]
add esp, 0x10
inc edi
cmp edi, 4
jl 0x10040f9c
push 4
lea ecx, [ebp - 0x3c8]
call fcn.10004e62
push 0x35ff
push 0x35aa
push 0x46e1
push ecx
lea eax, [ebp - 0x3c8]
mov dword [ebp - 4], 0x13
push eax
push 0x34ec
push 0x4292
push ecx
lea eax, [ebp - 0x410]
mov dword [ebp - 0x18], ebx
push eax
push 0x5218
push ebx
push ecx
mov edx, 0x2ae4
mov ecx, 0x7caa
call fcn.1003fb06
add esp, 0x30
mov dword [ebp - 0x18], ebx
jmp 0x10041130
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x1004112d
push ecx
push ecx
mov edx, 0x7217
mov cl, 1
call fcn.1003c38d
pop ecx
pop ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x10041114
or edi, 0xffffffff
lea ecx, [ebp - 0x3c8]
mov dword [ebp - 4], edi
call fcn.10004ee5
mov eax, dword [0x1007abd0]
lea ecx, [ebp - 0x2d8]
push 3
mov dword [ebp - 0xdc], eax
call fcn.10004e62
push ebx
xor eax, eax
mov dword [ebp - 4], 0x14
inc eax
mov dword [ebp - 0x20], ebx
push eax
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x28], eax
push ecx
push 0x6046
push 0x648d
push eax
push 0x2285
mov edx, 0x65ce
lea ecx, [ebp - 0xb8]
call fcn.1003d5fe
add esp, 0x1c
mov dword [ebp - 0xb8], ebx
jmp 0x100411ba
mov eax, dword [ebp - 0xb8]
mov dword [ebp + eax*4 - 0x1ec], 0xaafbebf0
inc dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 1
jl 0x100411a3
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 2
jg 0x1004123d
mov esi, dword [ebp - 0x2d8]
mov dword [ebp - 0x18], 0xce4b0ad8
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2d8]
mov edx, dword [esi + 8]
mov dword [eax + ecx*4], edx
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
cmp eax, 0x7b30
setne cl
xor eax, eax
cmp ecx, 0x8d20
setne al
imul eax, dword [ebp - 0x18]
cmp eax, 0xd3bed162
mov eax, dword [ebp - 0x18]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x1ec], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x100411d2
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 4], edi
call fcn.10004ee5
cmp dword [ebp - 0xdc], 0
jle 0x1004004a
cmp dword [ebp - 0xdc], 0x284b
jae 0x1004004a
mov dword [ebp - 0x2c], ebx
jmp 0x1004127a
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xc8], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 1
jl 0x1004126d
mov dword [ebp - 0x2c], ebx
jmp 0x10041296
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x654], 0xfffffff9
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x10041285
mov dword [ebp - 0x2c], ebx
jmp 0x100412b2
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xe0], 0x962ee6d0
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 1
jl 0x100412a1
mov dword [ebp - 0xc8], 0xfffffffd
jmp 0x100412db
mov dword [ebp - 0x24], 0x58fb770a
push ebx
call fcn.1003deef
inc dword [ebp - 0x24]
inc dword [ebp - 0xc8]
pop ecx
cmp dword [ebp - 0xc8], 0x14
je 0x100412c4
mov dword [ebp - 0xe0], 3
cmp dword [ebp - 0xe0], ebx
jl 0x10041321
push 1
push ecx
lea eax, [ebp - 0x8f]
mov byte [ebp - 0x8f], bl
push eax
push ecx
push 0x470b
mov ecx, 0x7c28
call fcn.1003cc46
add esp, 0x14
dec dword [ebp - 0xe0]
jns 0x100412f6
lea eax, [ebp - 0xd8]
push eax
push ecx
lea eax, [ebp - 0x14c]
push eax
push 0x708a
push 0x7ee4
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x1f4]
push eax
push 1
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x4d]
push eax
call fcn.1003cd03
add esp, 0x28
mov dword [ebp - 0x24], 0x9c4185a1
mov dword [ebp - 0xfc], 0xbe39e3c
push 2
pop ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x4c], 0xfffffff9
mov dword [ebp - 0x18], ebx
jmp 0x1004138d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1fc], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10041380
mov eax, 0x61c0
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x320]
call fcn.10004e62
push ecx
lea eax, [ebp - 0x320]
mov dword [ebp - 4], 0x15
push eax
push 1
mov edx, 0x4697
lea ecx, [ebp - 0x3e8]
call fcn.1003cd42
add esp, 0xc
lea eax, [ebp - 0x320]
mov edx, 0x275b
push eax
push ebx
push ecx
push ecx
lea ecx, [ebp - 0xfc]
call fcn.1003e20b
add esp, 0x10
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x320]
call fcn.10004ee5
push 1
call fcn.1003deef
mov eax, dword [0x1017d478]
pop ecx
mov ecx, 0x1017d478
push dword [eax + 4]
call fcn.1001c59c
mov eax, dword [0x1017d478]
mov dword [ebp - 0xa4], ebx
mov dword [eax + 4], eax
mov eax, dword [0x1017d478]
mov dword [eax], eax
mov eax, dword [0x1017d478]
mov dword [eax + 8], eax
mov dword [0x1017d47c], ebx
mov dword [ebp - 0x28], 0x62d5e48d
mov dword [ebp - 0x28], ebx
jmp 0x100414a0
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x18], 0x18
jmp 0x10041497
push 0x6366
push ebx
push 0x7395
lea eax, [ebp - 0x96]
mov byte [ebp - 0x96], bl
push ebx
push eax
mov dl, 1
mov ecx, 0x58d4
call fcn.1003e7f3
add esp, 0x14
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x16
jne 0x1004146c
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x10
jge 0x10041460
mov eax, dword [ebp - 0x14c]
lea ecx, [ebp - 0x32c]
add eax, 4
push 2
mov dword [ebp - 0x4c], eax
call fcn.10004e62
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x18], ebx
jmp 0x100414de
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x32c]
mov dword [eax + ecx*4], 0xe0a8eac8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100414cb
push 1
push 0x7ee0
push 1
push 0x44e9
lea eax, [ebp - 0x98]
mov byte [ebp - 0x98], bl
push eax
push 1
mov edx, 0x621b
mov ecx, 0x4c9d
call fcn.1003cf48
mov esi, dword [ebp - 0x32c]
add esp, 0x18
mov dword [esi], ebx
push 0x3bcf
push ecx
push ecx
push 1
mov ecx, 0x7a36
call fcn.1003b814
add esp, 0x10
dec dword [esi]
cmp dword [esi], 0xffffffe6
jne 0x1004151b
lea ecx, [ebp - 0x32c]
mov dword [ebp - 4], edi
call fcn.10004ee5
mov dword [ebp - 0x20], 0xaa43
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x1c], 0x21aa291
mov eax, 0x5e3087c3
mov dword [ebp - 0x18], 1
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x38], 0xa2df500c
push 4
call fcn.10004e62
mov dword [ebp - 4], 0x17
mov dword [ebp - 0xbc], ebx
jmp 0x100415b8
mov eax, dword [ebp - 0xbc]
mov dword [ebp + eax*4 - 0x164], 3
inc dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 2
jl 0x100415a1
lea eax, [ebp - 0x29c]
mov dl, 1
push eax
push 1
push 0x4495
push 0x7b9f
push 0x60da
push 0x36ff
lea eax, [ebp - 0xbc]
mov ecx, 0x6f4f
push eax
push ebx
call fcn.1003ea61
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
add esp, 0x20
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setl dl
xor ecx, ecx
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x1c]
cmp ecx, 0xfff8
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 1
setle cl
xor edx, edx
cmp ecx, 0x780d7777
setle dl
sub edx, 0x325a
neg edx
sbb edx, edx
xor eax, eax
add edx, 0x51c76d7c
cmp edx, 0x7937
setge al
sub eax, dword [ebp - 0x164]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x28c]
mov esi, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x1c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
sete cl
mov eax, dword [ebp - 0x164]
add eax, esi
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x164]
jg 0x100416e3