Function at 0x41021c
Capabilities:
Copy file
Get keyboard layout
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x1e
push 0
push 0
dec ecx
jne 0x410224
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov esi, eax
xor eax, eax
push ebp
push 0x411291
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [esi + 0xa0]
call fcn.00409428
test al, al
je 0x41025f
push 1
push 0
push 1
push 0x6f
call fcn.00403c88
jmp 0x41026c
push 1
push 0
push 0
push 0x6f
call fcn.00403c88
mov eax, dword [esi + 0x100]
mov edi, dword [eax + 0x1c]
dec edi
test edi, edi
jl 0x41034d
inc edi
xor ebx, ebx
lea ecx, [ebp - 0x1c]
mov eax, dword [esi + 0x100]
mov edx, ebx
call fcn.00409a64
cmp dword [ebp - 0x1c], 0
je 0x410345
lea ecx, [ebp - 0x20]
mov eax, dword [esi + 0x100]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0x20]
push eax
lea ecx, [ebp - 0x24]
mov eax, dword [esi + 0xf8]
mov edx, ebx
call fcn.00409a64
mov edx, dword [ebp - 0x24]
pop eax
call fcn.004032c8
je 0x410345
lea ecx, [ebp - 0x28]
mov eax, dword [esi + 0x100]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [esi + 0xfc]
mov edx, ebx
call fcn.00409a64
mov edx, dword [ebp - 0x2c]
pop eax
call fcn.004032c8
je 0x410345
lea ecx, [ebp - 0x30]
mov eax, dword [esi + 0x100]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x38]
mov eax, dword [esi + 0xdc]
mov edx, ebx
call fcn.00409a64
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
mov edx, 0x4112a8
call fcn.004031c8
mov edx, dword [ebp - 0x34]
mov eax, 0x80000002
call fcn.00404730
mov edx, 0x4112e4
pop ecx
call fcn.0040489c
inc ebx
dec edi
jne 0x410281
mov ax, word [0x4112f8]
call fcn.0040682c
test al, al
jne 0x41039c
mov ax, word [0x4112fc]
call fcn.0040682c
test al, al
jne 0x41039c
mov ax, word [0x411300]
call fcn.0040682c
test al, al
jne 0x41039c
mov ax, word [0x411304]
call fcn.0040682c
test al, al
jne 0x41039c
mov ax, word [0x411308]
call fcn.0040682c
test al, al
je 0x41044a
call fcn.00405418
mov dword [ebp - 0x14], eax
mov edx, 0x411314
mov eax, 0x80000001
call fcn.004046d0
mov edx, dword [ebp - 0x14]
call fcn.00404ad0
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x1c]
dec edi
test edi, edi
jl 0x4103f3
inc edi
xor ebx, ebx
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0x3c]
push eax
mov edx, 0x411314
mov eax, 0x80000001
call fcn.00404700
pop edx
call fcn.0040490c
inc ebx
dec edi
jne 0x4103c9
mov eax, dword [ebp - 0x14]
call fcn.00407028
mov eax, dword [esi + 0xdc]
mov edi, dword [eax + 0x1c]
test edi, edi
jle 0x41044a
mov ebx, 1
lea ecx, [ebp - 0x40]
mov edx, ebx
dec edx
mov eax, dword [esi + 0xdc]
call fcn.00409a64
mov eax, dword [ebp - 0x40]
push eax
lea edx, [ebp - 0x44]
mov eax, ebx
call fcn.00407734
mov eax, dword [ebp - 0x44]
push eax
mov edx, 0x411314
mov eax, 0x80000001
call fcn.00404730
pop edx
pop ecx
call fcn.0040489c
inc ebx
dec edi
jne 0x41040d
mov ax, word [0x41132c]
call fcn.0040682c
test al, al
jne 0x410477
mov ax, word [0x411330]
call fcn.0040682c
test al, al
jne 0x410477
mov ax, word [0x411334]
call fcn.0040682c
test al, al
je 0x4104ed
mov edi, dword [esi + 0x108]
test edi, edi
jle 0x410493
mov edx, 0x411314
mov eax, 0x80000001
call fcn.004048e8
dec edi
jne 0x410481
mov eax, dword [esi + 0xdc]
mov edi, dword [eax + 0x1c]
test edi, edi
jle 0x4104ed
mov ebx, 1
lea ecx, [ebp - 0x48]
mov edx, ebx
dec edx
mov eax, dword [esi + 0xdc]
call fcn.00409a64
mov eax, dword [ebp - 0x48]
push eax
lea edx, [ebp - 0x50]
mov eax, ebx
call fcn.00407734
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x4c]
mov edx, 0x411340
call fcn.004031c8
mov edx, dword [ebp - 0x4c]
mov eax, 0x80000001
call fcn.00404730
xor edx, edx
pop ecx
call fcn.0040489c
inc ebx
dec edi
jne 0x4104a5
xor ebx, ebx
lea ecx, [ebp - 0x58]
lea edi, [ebx + 0x100]
mov eax, edi
mov edx, 3
call fcn.004076c8
mov ecx, dword [ebp - 0x58]
lea eax, [ebp - 0x54]
mov edx, 0x411364
call fcn.004031c8
mov edx, dword [ebp - 0x54]
mov eax, 0x80000001
call fcn.00404930
test al, al
je 0x410551
lea ecx, [ebp - 0x60]
mov eax, edi
mov edx, 3
call fcn.004076c8
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x5c]
mov edx, 0x411364
call fcn.004031c8
mov edx, dword [ebp - 0x5c]
mov eax, 0x80000001
call fcn.004048e8
inc ebx
cmp ebx, 0xc9
jne 0x4104ef
mov eax, dword [esi + 0xe4]
mov edi, dword [eax + 0x1c]
dec edi
test edi, edi
jl 0x410754
inc edi
xor ebx, ebx
lea ecx, [ebp - 0x64]
mov eax, dword [esi + 0xe4]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0x64]
call fcn.004076fc
mov dword [ebp - 8], eax
push 4
lea ecx, [ebp - 0x6c]
lea eax, [ebx + 0x100]
mov edx, 3
call fcn.004076c8
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x68]
mov edx, 0x411364
call fcn.004031c8
mov edx, dword [ebp - 0x68]
mov eax, 0x80000001
call fcn.00404730
lea ecx, [ebp - 8]
mov edx, 0x411398
call fcn.004049c8
lea ecx, [ebp - 0x70]
mov eax, dword [esi + 0xec]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0x70]
call fcn.004076fc
mov dword [ebp - 8], eax
push 4
lea ecx, [ebp - 0x78]
lea eax, [ebx + 0x100]
mov edx, 3
call fcn.004076c8
mov ecx, dword [ebp - 0x78]
lea eax, [ebp - 0x74]
mov edx, 0x411364
call fcn.004031c8
mov edx, dword [ebp - 0x74]
mov eax, 0x80000001
call fcn.00404730
lea ecx, [ebp - 8]
mov edx, 0x4113b0
call fcn.004049c8
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x80]
mov eax, dword [esi + 0xe8]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0x80]
mov ecx, 4
mov edx, 1
call fcn.004033d4
mov eax, dword [ebp - 0x7c]
mov edx, 0x4113c4
call fcn.004032c8
jne 0x4106e0
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x88]
mov eax, dword [esi + 0xe8]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0x88]
mov ecx, 8
mov edx, 5
call fcn.004033d4
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x90]
mov eax, dword [esi + 0xe8]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0x90]
mov ecx, 8
mov edx, 5
call fcn.004033d4
mov edx, dword [ebp - 0x8c]
pop eax
call fcn.00403184
mov ecx, dword [ebp - 0x84]
mov eax, dword [esi + 0xe8]
mov edx, ebx
call fcn.00409abc
lea ecx, [ebp - 0x94]
mov eax, dword [esi + 0xe8]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0x94]
call fcn.004076fc
mov dword [ebp - 8], eax
push 4
lea ecx, [ebp - 0x9c]
lea eax, [ebx + 0x100]
mov edx, 3
call fcn.004076c8
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x98]
mov edx, 0x411364
call fcn.004031c8
mov edx, dword [ebp - 0x98]
mov eax, 0x80000001
call fcn.00404730
lea ecx, [ebp - 8]
mov edx, 0x4113d4
call fcn.004049c8
inc ebx
dec edi
jne 0x41056f
mov ebx, dword [esi + 0x104]
cmp ebx, 0x804
jne 0x41076f
lea eax, [ebp - 0xc]
mov edx, 0x4113e8
call fcn.00403090
cmp ebx, 0x404
jne 0x410784
lea eax, [ebp - 0xc]
mov edx, 0x4113f4
call fcn.00403090
cmp ebx, 0x412
jne 0x410799
lea eax, [ebp - 0xc]
mov edx, 0x411400
call fcn.00403090
cmp ebx, 0x411
je 0x4107a8
mov eax, 3
jmp 0x4107ad
mov eax, 1
mov edi, eax
test edi, edi
jle 0x4108d2
mov ebx, 1
lea eax, [esi + 0x468]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
call fcn.004076fc
mov dword [ebp - 8], eax
push 4
push 0x41140c
push dword [ebp - 0xc]
lea edx, [ebp - 0xa4]
mov eax, ebx
dec eax
call fcn.00407734
push dword [ebp - 0xa4]
lea eax, [ebp - 0xa0]
mov edx, 3
call fcn.0040323c
mov edx, dword [ebp - 0xa0]
mov eax, 0x80000001
call fcn.00404730
lea ecx, [ebp - 8]
mov edx, 0x411398
call fcn.004049c8
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
call fcn.004076fc
mov dword [ebp - 8], eax
push 4
push 0x41140c
push dword [ebp - 0xc]
lea edx, [ebp - 0xac]
mov eax, ebx
dec eax
call fcn.00407734
push dword [ebp - 0xac]
lea eax, [ebp - 0xa8]
mov edx, 3
call fcn.0040323c
mov edx, dword [ebp - 0xa8]
mov eax, 0x80000001
call fcn.00404730
lea ecx, [ebp - 8]
mov edx, 0x4113b0
call fcn.004049c8
xor eax, eax
mov dword [ebp - 8], eax
push 4
push 0x41140c
push dword [ebp - 0xc]
lea edx, [ebp - 0xb4]
mov eax, ebx
dec eax
call fcn.00407734
push dword [ebp - 0xb4]
lea eax, [ebp - 0xb0]
mov edx, 3
call fcn.0040323c
mov edx, dword [ebp - 0xb0]
mov eax, 0x80000001
call fcn.00404730
lea ecx, [ebp - 8]
mov edx, 0x4113d4
call fcn.00404988
inc ebx
add dword [ebp - 0x18], 8
dec edi
jne 0x4107c5
mov eax, dword [esi + 0x78]
call fcn.00409428
test al, al
je 0x410a05
mov eax, dword [esi + 0x7c]
call fcn.004098cc
test eax, eax
jne 0x41097f
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x411460
mov edx, 0x41146c
call fcn.0040489c
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x411460
mov edx, 0x41147c
call fcn.0040489c
mov ax, word [0x41132c]
call fcn.0040682c
test al, al
jne 0x41095f
mov ax, word [0x411330]
call fcn.0040682c
test al, al
jne 0x41095f
mov ax, word [0x411334]
call fcn.0040682c
test al, al
je 0x410a41
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x411460
xor edx, edx
call fcn.0040489c
jmp 0x410a41
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x4113e8
mov edx, 0x41146c
call fcn.0040489c
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x4113e8
mov edx, 0x41147c
call fcn.0040489c
mov ax, word [0x41132c]
call fcn.0040682c
test al, al
jne 0x4109e8
mov ax, word [0x411330]
call fcn.0040682c
test al, al
jne 0x4109e8
mov ax, word [0x411334]
call fcn.0040682c
test al, al
je 0x410a41
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x4113e8
xor edx, edx
call fcn.0040489c
jmp 0x410a41
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x411494
mov edx, 0x41146c
call fcn.0040489c
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x411494
mov edx, 0x41147c
call fcn.0040489c
mov eax, dword [esi + 0x80]
call fcn.00409428
test al, al
je 0x410a9f
mov eax, dword [esi + 0x84]
call fcn.004098cc
test eax, eax
jne 0x410a7f
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x411460
mov edx, 0x4114a0
call fcn.0040489c
jmp 0x410abd
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x4113e8
mov edx, 0x4114a0
call fcn.0040489c
jmp 0x410abd
mov edx, 0x411440
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x411494
mov edx, 0x4114a0
call fcn.0040489c
mov ax, word [0x4112f8]
call fcn.0040682c
test al, al
jne 0x410b08
mov ax, word [0x4112fc]
call fcn.0040682c
test al, al
jne 0x410b08
mov ax, word [0x411300]
call fcn.0040682c
test al, al
jne 0x410b08
mov ax, word [0x411304]
call fcn.0040682c
test al, al
jne 0x410b08
mov ax, word [0x411308]
call fcn.0040682c
test al, al
je 0x410b6a
mov eax, dword [esi + 0x9c]
call fcn.004098cc
test eax, eax
jne 0x410b40
mov edx, 0x4114b8
mov eax, 0x80000001
call fcn.00404730
xor ecx, ecx
mov edx, 0x4114d0
call fcn.00404864
push 0x40000000
push 0
call fcn.00403a90
jmp 0x410b6a
mov edx, 0x4114b8
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x10000
mov edx, 0x4114d0
call fcn.00404864
push 0x40010000
push 0
call fcn.00403a90
push 2
push 0
push 0
push 0x5b
call fcn.00403c88
mov ebx, 0x1f
lea eax, [esi + 0x110]
xor edx, edx
mov dword [eax], edx
add eax, 4
dec ebx
jne 0x410b82
lea eax, [esi + 0x110]
push eax
push 0x1e
call fcn.00403b60
mov ebx, 0x1f
lea edi, [esi + 0x110]
mov eax, dword [edi]
test eax, eax
je 0x410bb1
push eax
call fcn.00403c98
add edi, 4
dec ebx
jne 0x410ba5
mov eax, dword [esi + 0xdc]
mov ebx, dword [eax + 0x1c]
cmp ebx, 1
jl 0x410bf1
push 8
lea ecx, [ebp - 0xb8]
mov edx, ebx
dec edx
mov eax, dword [esi + 0xdc]
call fcn.00409a64
mov eax, dword [ebp - 0xb8]
call fcn.0040337c
push eax
call fcn.00403bf8
dec ebx
test ebx, ebx
jne 0x410bc5
mov ebx, 0x1f
lea eax, [esi + 0x110]
xor edx, edx
mov dword [eax], edx
add eax, 4
dec ebx
jne 0x410bfc
lea eax, [esi + 0x110]
push eax
push 0x1e
call fcn.00403b60
push 1
mov eax, dword [esi + 0x110]
push eax
call fcn.00403a90
push 2
lea eax, [esi + 0x110]
push eax
push 0
push 0x5a
call fcn.00403c88
call fcn.00405418
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xc]
call fcn.00402ff8
mov edx, 0x4114e4
mov eax, 0x80000002
call fcn.004046d0
mov edx, dword [ebp - 0x10]
call fcn.00404a00
mov eax, dword [ebp - 0x10]
mov edi, dword [eax + 0x1c]
dec edi
test edi, edi
jl 0x410d5e
inc edi
xor ebx, ebx
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0xc0]
mov eax, dword [ebp - 0x10]
mov edx, ebx
call fcn.00409a64
mov eax, dword [ebp - 0xc0]
mov ecx, 1
mov edx, 1
call fcn.004033d4
mov eax, dword [ebp - 0xbc]
mov edx, 0x411520
call fcn.004032c8
je 0x410d56
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0x10]
mov edx, ebx
call fcn.00409a64
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0xc4]
mov edx, 0x4112a8
call fcn.004031c8
mov edx, dword [ebp - 0xc4]
mov eax, 0x80000002
call fcn.004046d0
lea ecx, [ebp - 0xc]
mov edx, 0x41152c
call fcn.00404800
cmp dword [ebp - 0xc], 0
je 0x410d20
lea eax, [ebp - 0xcc]
call fcn.00404658
lea eax, [ebp - 0xcc]
mov edx, dword [ebp - 0xc]
call fcn.00403184
mov eax, dword [ebp - 0xcc]
call fcn.00407958
test al, al
jne 0x410d56
lea ecx, [ebp - 0xd4]
mov eax, dword [ebp - 0x10]
mov edx, ebx
call fcn.00409a64
mov ecx, dword [ebp - 0xd4]
lea eax, [ebp - 0xd0]
mov edx, 0x4112a8
call fcn.004031c8
mov edx, dword [ebp - 0xd0]
mov eax, 0x80000002
call fcn.004048e8
inc ebx
dec edi
jne 0x410c6d
mov eax, dword [ebp - 0x10]
call fcn.00407028
mov eax, dword [esi + 0x6c]
call fcn.00409428
test al, al
je 0x410ec0
mov eax, dword [esi + 0xd4]
call fcn.00409428
test al, al
je 0x410ec0
mov ax, word [0x411300]
call fcn.0040682c
test al, al
jne 0x410dc5
mov ax, word [0x411304]
call fcn.0040682c
test al, al
jne 0x410dc5
mov ax, word [0x411308]
call fcn.0040682c
test al, al
jne 0x410dc5
mov ax, word [0x4112f8]
call fcn.0040682c
test al, al
je 0x410dfe
mov edx, 0x411540
mov eax, 0x80000001
call fcn.00404730
xor ecx, ecx
mov edx, 0x411560
call fcn.00404864
mov edx, 0x411588
mov eax, 0x80000001
call fcn.00404730
mov ecx, 4
mov edx, 0x4115b0
call fcn.00404864
mov dl, 1
mov eax, 0x4115c4
call fcn.0040d410
mov dl, 1
mov eax, 0x4115d8
call fcn.0040d410
mov dl, 1
mov eax, 0x4115ec
call fcn.0040d410
push 5
push 5
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x411600
call fcn.0040669c
mov eax, esi
mov edx, 0x411600
call fcn.0040d6dc
test al, al
je 0x410e88
mov eax, esi
mov ecx, 1
mov edx, 0x411614
call fcn.0040d4fc
mov eax, esi
mov ecx, 1
mov edx, 0x411600
call fcn.0040d4fc
mov edx, 0x41162c
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x411600
mov edx, 0x411600
call fcn.0040489c
jmp 0x410ec0
mov eax, dword [esi + 0x104]
sub eax, 0x404
je 0x410e9e
sub eax, 0x400
je 0x410eaa
jmp 0x410eb6
mov eax, 0x411664
call fcn.00403eec
jmp 0x410ec0
mov eax, 0x411680
call fcn.00403eec
jmp 0x410ec0
mov eax, 0x41169c
call fcn.00403eec
mov eax, dword [esi + 0x70]
call fcn.00409428
test al, al
je 0x410f7a
mov ax, word [0x411300]
call fcn.0040682c
test al, al
jne 0x410f0c
mov ax, word [0x411304]
call fcn.0040682c
test al, al
jne 0x410f0c
mov ax, word [0x411308]
call fcn.0040682c
test al, al
jne 0x410f0c
mov ax, word [0x4112f8]
call fcn.0040682c
test al, al
je 0x410f45
mov edx, 0x411540
mov eax, 0x80000001
call fcn.00404730
mov ecx, 1
mov edx, 0x411560
call fcn.00404864
mov edx, 0x411588
mov eax, 0x80000001
call fcn.00404730
xor ecx, ecx
mov edx, 0x4115b0
call fcn.00404864
mov eax, esi
mov ecx, 1
mov edx, 0x411600
call fcn.0040d4fc
mov eax, esi
mov edx, 0x411600
call fcn.0041ab50
xor edx, edx
mov eax, 0x4115ec
call fcn.0040d410
xor edx, edx
mov eax, 0x4115d8
call fcn.0040d410
mov eax, dword [esi + 0x70]
call fcn.00409428
test al, al
je 0x4111e4
mov eax, dword [esi + 0xd4]
call fcn.00409428
test al, al
je 0x4111e4
mov eax, esi
mov edx, 0x411614
call fcn.0040d6dc
test al, al
jne 0x4110f1
lea eax, [ebp - 0xd8]
call fcn.00404658
lea eax, [ebp - 0xd8]
mov edx, 0x411614
call fcn.00403184
mov eax, dword [ebp - 0xd8]
call fcn.00407958
test al, al
jne 0x4110f1
lea eax, [ebp - 0xdc]
call fcn.004079a8
lea eax, [ebp - 0xdc]
mov edx, 0x411614
call fcn.00403184
mov eax, dword [ebp - 0xdc]
call fcn.00407958
test al, al
je 0x41105e
push 0xffffffffffffffff
lea eax, [ebp - 0xe0]
call fcn.00404658
lea eax, [ebp - 0xe0]
mov edx, 0x411614
call fcn.00403184
mov eax, dword [ebp - 0xe0]
call fcn.0040337c
push eax
lea eax, [ebp - 0xe4]
call fcn.004079a8
lea eax, [ebp - 0xe4]
mov edx, 0x411614
call fcn.00403184
mov eax, dword [ebp - 0xe4]
call fcn.0040337c
push eax
call fcn.00403960
lea eax, [ebp - 0xe8]
call fcn.004079a8
lea eax, [ebp - 0xe8]
mov edx, 0x4116bc
call fcn.00403184
mov eax, dword [ebp - 0xe8]
call fcn.00407958
test al, al
je 0x4110dd
push 0xffffffffffffffff
lea eax, [ebp - 0xec]
call fcn.00404658
lea eax, [ebp - 0xec]
mov edx, 0x4116bc
call fcn.00403184
mov eax, dword [ebp - 0xec]
call fcn.0040337c
push eax
lea eax, [ebp - 0xf0]
call fcn.004079a8
lea eax, [ebp - 0xf0]
mov edx, 0x4116bc
call fcn.00403184
mov eax, dword [ebp - 0xf0]
call fcn.0040337c
push eax
call fcn.00403960
push 5
push 5
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x411614
call fcn.0040669c
mov eax, esi
mov edx, 0x411614
call fcn.0040d6dc
test al, al
jne 0x411115
push 5
push 5
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x411614
call fcn.0040669c
mov eax, esi
mov edx, 0x411614
call fcn.0040d6dc
test al, al
jne 0x411168
call fcn.004045b8
test eax, eax
jne 0x411168
mov eax, dword [esi + 0x104]
sub eax, 0x404
je 0x411144
sub eax, 0x400
je 0x411150
jmp 0x41115c
mov eax, 0x4116d4
call fcn.00403eec
jmp 0x411179
mov eax, 0x41177c
call fcn.00403eec
jmp 0x411179
mov eax, 0x411824
call fcn.00403eec
jmp 0x411179
mov eax, esi
mov ecx, 1
mov edx, 0x411614
call fcn.0040d4fc
mov ax, word [0x41132c]
call fcn.0040682c
test al, al
jne 0x4111a6
mov ax, word [0x411330]
call fcn.0040682c
test al, al
jne 0x4111a6
mov ax, word [0x411334]
call fcn.0040682c
test al, al
je 0x4111c6
mov edx, 0x41162c
mov eax, 0x80000002
call fcn.00404730
mov ecx, 0x411614
mov edx, 0x411614
call fcn.0040489c
jmp 0x4111e4
mov edx, 0x41162c
mov eax, 0x80000001
call fcn.00404730
mov ecx, 0x411614
mov edx, 0x411614
call fcn.0040489c
mov eax, dword [esi + 0xd4]
call fcn.00409428
test al, al
jne 0x41124d
mov eax, esi
mov edx, 0x411614
call fcn.0040d6dc
test al, al
je 0x41120f
mov eax, esi
mov edx, 0x411614
call fcn.0041ab50
mov eax, esi
mov edx, 0x411600
call fcn.0040d6dc
test al, al
je 0x41122b
mov eax, esi
mov edx, 0x411600
call fcn.0041ab50
mov eax, esi
mov ecx, 1
mov edx, 0x411600
call fcn.0040d4fc
mov eax, esi
mov ecx, 1
mov edx, 0x411614
call fcn.0040d4fc
mov eax, 0x80000002
call fcn.004048dc
mov eax, 0x80000001
call fcn.004048dc
mov eax, esi
mov edx, dword [ebp - 4]
call fcn.0040dad4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x411298
lea eax, [ebp - 0xf0]
mov edx, 0x36
call fcn.0040301c
lea eax, [ebp - 0xc]
call fcn.00402ff8
ret