Function at 0x412460
Capabilities:
Contain obfuscated stackstrings
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4232ec
mov eax, dword fs:[0]
push eax
mov eax, 0x2318
call fcn.0041da90
mov eax, dword [0x4b2998]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x22e0], ecx
mov dword [ebp - 0x226c], 0
cmp byte [0x4b3189], 1
jne 0x41257d
push 0xc8
push 0x15e
push 0
push ecx
mov eax, esp
mov dword [ebp - 0x22a0], esp
push 0xffffffffffffffff
push 0
push 0x426d94
push eax
call fcn.00413c70
mov dword [ebp - 4], 0
add esp, 0xc
mov eax, esp
mov dword [ebp - 0x22a4], esp
push 0xffffffffffffffff
push 0
push 0x426de4
push eax
call fcn.00413c70
add esp, 0x10
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0xffffffff
call fcn.0040c520
add esp, 0x14
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x4138ef
lea ecx, [ebp - 0x22ac]
mov dword [ebp - 0x22b0], 2
call dword [0x42550c]
mov dword [ebp - 4], 2
lea eax, [ebp - 0x22ac]
push eax
lea ecx, [ebp - 0x22a8]
call dword [0x4254dc]
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x22a8]
push str.APP_is_running_
call dword [0x425480]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22b0]
call fcn.0041b3b0
jmp 0x4138ef
push 0x2140
push 0
push 0x4b3190
call fcn.0041e691
add esp, 0xc
mov eax, 0x4b3194
nop word [eax + eax]
mov dword [eax], 0xffffffff
add eax, 0x214
cmp eax, 0x4b52d4
jl 0x4125a0
push 0x4b3190
call fcn.0041cd66
add esp, 4
mov esi, eax
mov dword [ebp - 0x2278], esi
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x41263b
lea ecx, [ebp - 0x22ac]
mov dword [ebp - 0x22b0], 2
call dword [0x42550c]
mov dword [ebp - 4], 5
lea eax, [ebp - 0x22ac]
push eax
lea ecx, [ebp - 0x22a8]
call dword [0x4254dc]
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x22a8]
push esi
push str.EnumDevice_disks_
call dword [0x425480]
mov ecx, eax
call dword [0x425400]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22b0]
call fcn.0041b3b0
lea eax, [esi + 0xa]
xor edi, edi
mov dword [ebp - 0x227c], edi
mov dword [ebp - 0x2288], eax
test eax, eax
jle 0x412c43
imul eax, esi, 0x214
add eax, 0x4b3190
mov dword [ebp - 0x2280], eax
nop word [eax + eax]
mov eax, 0x4b3194
cmp dword [eax], edi
je 0x412c30
add eax, 0x214
cmp eax, 0x4b52d4
jl 0x412675
push 0x214
lea eax, [ebp - 0x2268]
push 0
push eax
call fcn.0041e691
push 0x2000
lea eax, [ebp - 0x2054]
push 0
push eax
call fcn.0041e691
push 0x13
push str..PhysicalDrive_1
call dword [0x42549c]
mov dword [ebp - 0x2284], eax
mov dword [ebp - 4], 8
add esp, 0x1c
mov ecx, esp
mov byte [ebp - 0x2298], 0x20
push dword [ebp - 0x2298]
call dword [0x4254b8]
push 0xa
push 0
push edi
lea eax, [ebp - 0x2270]
push eax
lea ecx, [ebp - 0x2284]
call dword [0x4254b4]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2284]
call dword [0x425504]
lea eax, [ebp - 0x229c]
push eax
lea ecx, [ebp - 0x2270]
call dword [0x42544c]
mov byte [ebp - 4], 0xb
mov ecx, eax
push 0
push 0x80
push 3
push 0
push 3
push 0xc0000000
call dword [0x425344]
push eax
call dword [0x4250d8]
mov dword [ebp - 0x2274], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x229c]
call dword [0x425460]
cmp dword [ebp - 0x2274], 0xffffffff
je 0x412c1d
push 0x2000
lea eax, [ebp - 0x2054]
push 0
push eax
call fcn.0041e691
add esp, 0xc
mov dword [ebp - 0x20], 0
lea eax, [ebp - 0x22a4]
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x18], 0
push 0
push eax
push 0x1000
lea eax, [ebp - 0x2054]
push eax
push 0xc
lea eax, [ebp - 0x20]
push eax
push 0x2d1400
push dword [ebp - 0x2274]
call dword [0x4250d0]
test eax, eax
je 0x412bb2
mov eax, dword [ebp - 0x2038]
cmp eax, 7
jne 0x41292d
cmp byte [ebp - 0x204a], 0
jne 0x41293f
push 0x104
mov dword [ebp - 0x2260], eax
lea eax, [ebp - 0x225c]
push 0
push eax
mov dword [ebp - 0x2264], edi
call fcn.0041e691
add esp, 0xc
lea eax, [ebp - 0x22c0]
lea ecx, [ebp - 0x2270]
push eax
call dword [0x42544c]
mov byte [ebp - 4], 0xc
mov ecx, eax
call dword [0x425344]
mov esi, eax
lea eax, [esi + 1]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x412822
sub esi, eax
lea ecx, [ebp - 0x2270]
lea eax, [ebp - 0x22bc]
push eax
call dword [0x42544c]
mov byte [ebp - 4], 0xd
mov ecx, eax
push esi
call dword [0x425340]
push eax
lea eax, [ebp - 0x225c]
push eax
call fcn.0041e68b
add esp, 0xc
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x22bc]
call dword [0x425460]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x22c0]
call dword [0x425460]
mov eax, dword [ebp - 0x2274]
mov dword [ebp - 0x2268], eax
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x4128f8
lea ecx, [ebp - 0x22ac]
mov dword [ebp - 0x22b0], 2
call dword [0x42550c]
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x22ac]
push eax
lea ecx, [ebp - 0x22a8]
call dword [0x4254dc]
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x225c]
push eax
push 0x428898
lea ecx, [ebp - 0x22a8]
call dword [0x425480]
mov ecx, eax
call dword [0x425480]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x22b0]
call fcn.0041b3b0
mov edi, dword [ebp - 0x2280]
lea esi, [ebp - 0x2268]
mov ecx, 0x85
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2278]
mov edi, dword [ebp - 0x227c]
inc esi
add dword [ebp - 0x2280], 0x214
mov dword [ebp - 0x2278], esi
jmp 0x412c1d
cmp eax, 0x11
je 0x4129c9
cmp eax, 8
je 0x4129c9
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x412c1d
lea ecx, [ebp - 0x230c]
mov dword [ebp - 0x2310], 2
call dword [0x42550c]
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x230c]
push eax
lea ecx, [ebp - 0x2308]
call dword [0x4254dc]
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2308]
push dword [ebp - 0x2038]
push str.___pDescriptor__BusType_
push edi
push str.Not_NVME_USB_RAID___disk_
call dword [0x425480]
mov ecx, eax
call dword [0x425400]
mov ecx, eax
call dword [0x425480]
mov ecx, eax
call dword [0x425400]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2310]
jmp 0x412c18
push 0x104
lea eax, [ebp - 0x225c]
mov dword [ebp - 0x2264], edi
push 0
push eax
mov dword [ebp - 0x2260], 0x11
call fcn.0041e691
add esp, 0xc
lea eax, [ebp - 0x22b8]
lea ecx, [ebp - 0x2270]
push eax
call dword [0x42544c]
mov byte [ebp - 4], 0x11
mov ecx, eax
call dword [0x425344]
mov esi, eax
lea eax, [esi + 1]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x412a13
sub esi, eax
lea ecx, [ebp - 0x2270]
lea eax, [ebp - 0x22c4]
push eax
call dword [0x42544c]
mov byte [ebp - 4], 0x12
mov ecx, eax
push esi
call dword [0x425340]
push eax
lea eax, [ebp - 0x225c]
push eax
call fcn.0041e68b
add esp, 0xc
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x22c4]
call dword [0x425460]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x22b8]
call dword [0x425460]
mov eax, dword [ebp - 0x2274]
mov dword [ebp - 0x2268], eax
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x412ae9
lea ecx, [ebp - 0x2318]
mov dword [ebp - 0x231c], 2
call dword [0x42550c]
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x2318]
push eax
lea ecx, [ebp - 0x2314]
call dword [0x4254dc]
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x225c]
push eax
push 0x428898
lea ecx, [ebp - 0x2314]
call dword [0x425480]
mov ecx, eax
call dword [0x425480]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x231c]
call fcn.0041b3b0
cmp dword [ebp - 0x2038], 8
jne 0x412b7d
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x412b7d
lea ecx, [ebp - 0x22e8]
mov dword [ebp - 0x22ec], 2
call dword [0x42550c]
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x22e8]
push eax
lea ecx, [ebp - 0x22e4]
call dword [0x4254dc]
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x225c]
push edi
push str.____disk
push eax
push str.RAID_
lea ecx, [ebp - 0x22e4]
call dword [0x425480]
mov ecx, eax
call dword [0x425480]
mov ecx, eax
call dword [0x425480]
mov ecx, eax
call dword [0x425400]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x22ec]
call fcn.0041b3b0
mov eax, dword [ebp - 0x2280]
lea esi, [ebp - 0x2268]
mov edi, eax
mov ecx, 0x85
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2278]
mov edi, dword [ebp - 0x227c]
inc esi
add eax, 0x214
mov dword [ebp - 0x2278], esi
mov dword [ebp - 0x2280], eax
jmp 0x412c1d
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x412c1d
lea ecx, [ebp - 0x2290]
mov dword [ebp - 0x2294], 2
call dword [0x42550c]
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x2290]
push eax
lea ecx, [ebp - 0x228c]
call dword [0x4254dc]
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x228c]
push edi
push str.DeviceIoControl_Fail__disk_
call dword [0x425480]
mov ecx, eax
call dword [0x425400]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2294]
call fcn.0041b3b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2270]
call dword [0x425504]
inc edi
mov dword [ebp - 0x227c], edi
cmp edi, dword [ebp - 0x2288]
jl 0x412670
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x412cb7
lea ecx, [ebp - 0x2290]
mov dword [ebp - 0x2294], 2
call dword [0x42550c]
mov dword [ebp - 4], 0x1f
lea eax, [ebp - 0x2290]
push eax
lea ecx, [ebp - 0x228c]
call dword [0x4254dc]
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x228c]
push esi
push 0x428960
call dword [0x425480]
mov ecx, eax
call dword [0x425400]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2294]
call fcn.0041b3b0
mov edi, dword [0x425dc8]
mov esi, 0x4b5740
mov byte [0x4b3188], 0
mov dword [0x4b52d0], 0
mov eax, dword [esi]
test eax, eax
je 0x412cdf
push eax
call edi
add esp, 4
add esi, 0x3a4
cmp esi, 0x4b9180
jl 0x412cd3
push 0x3a40
push 0
push 0x4b53a0
call fcn.0041e691
add esp, 0xc
cmp dword [ebp - 0x2278], 0
jle 0x412f8d
mov edx, 0x4b53a8
mov dword [ebp - 0x2274], 0x4b3190
mov dword [ebp - 0x2288], edx
test edx, edx
je 0x412d3b
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412d30
sub ecx, esi
jmp 0x412d3e
or ecx, 0xffffffff
push ecx
push edx
call dword [0x42549c]
add esp, 8
mov dword [ebp - 0x2270], eax
mov dword [ebp - 4], 0x22
mov ecx, 0x4b8de0
call fcn.00403b90
mov eax, dword [0x4b8de0]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x412db6
xor edi, edi
nop
lea eax, [ebp - 0x2270]
push eax
lea eax, [esi + 0xc]
push eax
call dword [0x4254a0]
add esp, 8
test al, al
jne 0x412d8f
mov edi, esi
mov esi, dword [esi + 4]
jmp 0x412d92
mov esi, dword [esi + 8]
test esi, esi
jne 0x412d70
test edi, edi
je 0x412db6
lea eax, [edi + 0xc]
push eax
lea eax, [ebp - 0x2270]
push eax
call dword [0x4254a0]
add esp, 8
test al, al
je 0x412e66
mov ecx, 0x4b8de0
mov dword [ebp - 0x229c], 0
call fcn.00403b90
mov ecx, dword [0x4b8de0]
xor edi, edi
mov byte [ebp - 0x227c], 1
mov esi, dword [ecx + 0xc]
lea eax, [ecx + 8]
test esi, esi
je 0x412e4a
lea eax, [ebp - 0x2270]
mov dword [ebp - 0x2298], esi
push eax
lea eax, [esi + 0xc]
push eax
call dword [0x4254a0]
add esp, 8
test al, al
jne 0x412e0f
mov edi, esi
mov byte [ebp - 0x227c], 1
mov esi, dword [esi + 4]
jmp 0x412e19
mov esi, dword [esi + 8]
mov byte [ebp - 0x227c], 0
test esi, esi
jne 0x412de3
test edi, edi
je 0x412e3e
lea eax, [edi + 0xc]
push eax
lea eax, [ebp - 0x2270]
push eax
call dword [0x4254a0]
add esp, 8
test al, al
jne 0x412e3e
mov dword [edi + 0x10], esi
jmp 0x412e66
mov ecx, dword [0x4b8de0]
mov eax, dword [ebp - 0x2298]
push dword [ebp - 0x227c]
push eax
lea eax, [ebp - 0x229c]
push eax
lea eax, [ebp - 0x2270]
push eax
call fcn.00403aa0
mov edi, eax
mov esi, dword [edi + 0x10]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2270]
call dword [0x425504]
cmp esi, 3
jge 0x412f64
movzx eax, byte [0x4b3188]
mov esi, dword [ebp - 0x2274]
imul ecx, eax, 0x3a4
mov dword [ebp - 0x2284], 0
mov eax, dword [esi + 4]
mov byte [ecx + 0x4b56fc], 1
lea edi, [ecx + 0x4b53a8]
mov dword [ecx + 0x4b54ac], eax
mov eax, dword [esi]
mov dword [ecx + 0x4b53a0], eax
mov eax, dword [esi + 8]
add esi, 0xc
mov dword [ecx + 0x4b56f8], eax
lea eax, [ebp - 0x2284]
push eax
movzx eax, byte [0x4b3188]
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.00401e60
add esp, 8
test al, al
je 0x412ef6
inc byte [0x4b3188]
jmp 0x412f18
movzx eax, byte [0x4b3188]
imul eax, eax, 0x3a4
push 0x3a4
push 0
add eax, 0x4b53a0
push eax
call fcn.0041e691
add esp, 0xc
cmp dword [ebp - 0x2284], 0
je 0x412f64
push 0xc
call fcn.0041d5be
mov dword [ebp - 0x22a0], eax
mov dword [ebp - 4], 0x23
mov ecx, dword [ebp - 0x22e0]
mov dword [eax], 1
mov dword [eax + 4], 0x411cc0
mov dword [eax + 8], ecx
mov dword [ebp - 4], 0xffffffff
push eax
push ecx
push 1
push 0xbb8
call dword [0x4252fc]
add esp, 0x14
mov edx, dword [ebp - 0x2288]
add dword [ebp - 0x2274], 0x214
add edx, 0x3a4
sub dword [ebp - 0x2278], 1
mov dword [ebp - 0x2288], edx
jne 0x412d23
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x413008
lea ecx, [ebp - 0x2290]
mov dword [ebp - 0x2294], 2
call dword [0x42550c]
mov dword [ebp - 4], 0x24
lea eax, [ebp - 0x2290]
push eax
lea ecx, [ebp - 0x228c]
call dword [0x4254dc]
mov dword [ebp - 4], 0x26
lea ecx, [ebp - 0x228c]
movzx eax, byte [0x4b3188]
push eax
push 0x428974
call dword [0x425480]
mov ecx, eax
call dword [0x425400]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2294]
call fcn.0041b3b0
mov eax, dword [0x42536c]
mov dword [ebp - 0x22b4], eax
mov dword [ebp - 4], 0x28
mov cl, byte [0x4b3188]
mov dword [ebp - 0x2274], 0
test cl, cl
je 0x4138b1
mov edi, 0x4b54b0
push 0x29
lea eax, [ebp - 0x54]
push 0
push eax
call fcn.0041e691
lea eax, [ebp - 0x54]
push eax
lea eax, [edi + 0x15]
push eax
call fcn.0040c4d0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], 0
push eax
xorps xmm0, xmm0
mov byte [ebp - 0x14], 0
push edi
movups xmmword [ebp - 0x28], xmm0
call fcn.0040c4d0
lea eax, [edi - 0x108]
push eax
call fcn.0041cd6c
add esp, 0x20
test al, al
je 0x413502
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x22c4]
push 0xffffffffffffffff
push 0
push 0x428988
push eax
mov ecx, 0x49f794
call dword [0x4254f4]
mov esi, dword [ebp - 0x226c]
lea ecx, [ebp - 0x54]
or esi, 4
lea edx, [ecx + 1]
mov dword [ebp - 0x226c], esi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4130b8
sub ecx, edx
lea eax, [ebp - 0x54]
push ecx
push eax
call dword [0x42549c]
add esp, 8
mov dword [ebp - 0x22b8], eax
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x22b8]
push eax
lea ecx, [ebp - 0x2270]
call dword [0x425508]
push 0xffffffffffffffff
lea eax, [ebp - 0x2320]
or esi, 8
push 0x428998
push eax
mov dword [ebp - 0x226c], esi
call dword [0x425424]
add esp, 0xc
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x2270]
push eax
call dword [0x425428]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x2320]
call dword [0x425504]
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x2270]
push eax
lea ecx, [ebp - 0x2278]
call dword [0x425508]
push 0xffffffffffffffff
lea eax, [ebp - 0x28]
or esi, 0x10
push eax
lea eax, [ebp - 0x2324]
mov dword [ebp - 0x226c], esi
push eax
call dword [0x425424]
add esp, 0xc
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2278]
push eax
call dword [0x425428]
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x2324]
call dword [0x425504]
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x2278]
push eax
lea ecx, [ebp - 0x2280]
call dword [0x425508]
lea eax, [ebp - 0x22c4]
or esi, 0x20
push eax
lea ecx, [ebp - 0x2280]
mov dword [ebp - 0x226c], esi
call dword [0x425428]
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x2280]
push eax
lea ecx, [ebp - 0x227c]
call dword [0x425508]
push 0xffffffffffffffff
lea eax, [ebp - 0x2304]
or esi, 0x40
push 0x427868
push eax
mov dword [ebp - 0x226c], esi
call dword [0x425424]
add esp, 0xc
mov byte [ebp - 4], 0x31
push eax
lea ecx, [ebp - 0x227c]
call dword [0x425428]
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2304]
call dword [0x425504]
lea eax, [ebp - 0x227c]
push eax
lea ecx, [ebp - 0x22b4]
call fcn.0040de30
and esi, 0xffffffbf
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x227c]
call dword [0x425504]
and esi, 0xffffffdf
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x2280]
call dword [0x425504]
and esi, 0xffffffef
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x2278]
call dword [0x425504]
and esi, 0xfffffff7
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x2270]
call dword [0x425504]
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x22b8]
call dword [0x425504]
and esi, 0xfffffffb
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x22c4]
call dword [0x425504]
mov byte [edi + 0x269], 1
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x413868
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x22bc]
push 0xffffffffffffffff
push 0
push 0x428988
push eax
mov ecx, 0x49f794
call dword [0x4254f4]
or esi, 0x80
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x226c], esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413300
sub ecx, edx
lea eax, [ebp - 0x54]
push ecx
push eax
call dword [0x42549c]
add esp, 8
mov dword [ebp - 0x22c0], eax
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x22c0]
push eax
lea ecx, [ebp - 0x22d0]
call dword [0x425508]
push 0xffffffffffffffff
lea eax, [ebp - 0x22f0]
or esi, 0x100
push 0x4289b0
push eax
mov dword [ebp - 0x226c], esi
call dword [0x425424]
add esp, 0xc
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x22d0]
push eax
call dword [0x425428]
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x22f0]
call dword [0x425504]
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x22d0]
push eax
lea ecx, [ebp - 0x22cc]
call dword [0x425508]
push 0xffffffffffffffff
lea eax, [ebp - 0x28]
or esi, 0x200
push eax
lea eax, [ebp - 0x22f4]
mov dword [ebp - 0x226c], esi
push eax
call dword [0x425424]
add esp, 0xc
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x22cc]
push eax
call dword [0x425428]
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x22f4]
call dword [0x425504]
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x22cc]
push eax
lea ecx, [ebp - 0x22c8]
call dword [0x425508]
lea eax, [ebp - 0x22bc]
or esi, 0x400
push eax
lea ecx, [ebp - 0x22c8]
mov dword [ebp - 0x226c], esi
call dword [0x425428]
lea ecx, [ebp - 0x2290]
mov dword [ebp - 0x2294], 2
call dword [0x42550c]
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0x2290]
push eax
lea ecx, [ebp - 0x228c]
call dword [0x4254dc]
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x22c8]
push eax
push 0x42899c
push dword [ebp - 0x2274]
push 0x426f58
lea ecx, [ebp - 0x228c]
call dword [0x425480]
mov ecx, eax
call dword [0x425400]
mov ecx, eax
call dword [0x425480]
mov ecx, eax
call dword [0x4254d4]
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x2294]
call fcn.0041b3b0
and esi, 0xfffffbff
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x22c8]
call dword [0x425504]
and esi, 0xfffffdff
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x22cc]
call dword [0x425504]
and esi, 0xfffffeff
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x22d0]
call dword [0x425504]
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x22c0]
call dword [0x425504]
and esi, 0xffffff7f
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x22bc]
jmp 0x413862
lea ecx, [ebp - 0x54]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413508
sub ecx, edx
lea eax, [ebp - 0x54]
push ecx
push eax
call dword [0x42549c]
add esp, 8
mov dword [ebp - 0x229c], eax
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x229c]
push eax
lea ecx, [ebp - 0x22dc]
call dword [0x425508]
mov esi, dword [ebp - 0x226c]
lea eax, [ebp - 0x22f8]
push 0xffffffffffffffff
push 0x428998
or esi, 0x800
push eax
mov dword [ebp - 0x226c], esi
call dword [0x425424]
add esp, 0xc
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x22dc]
push eax
call dword [0x425428]
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x22f8]
call dword [0x425504]
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x22dc]
push eax
lea ecx, [ebp - 0x22d8]
call dword [0x425508]
push 0xffffffffffffffff
lea eax, [ebp - 0x28]
or esi, 0x1000
push eax
lea eax, [ebp - 0x22fc]
mov dword [ebp - 0x226c], esi
push eax
call dword [0x425424]
add esp, 0xc
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x22d8]
push eax
call dword [0x425428]
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x22fc]
call dword [0x425504]
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x22d8]
push eax
lea ecx, [ebp - 0x22d4]
call dword [0x425508]
push 0xffffffffffffffff
lea eax, [ebp - 0x2300]
or esi, 0x2000
push 0x427868
push eax
mov dword [ebp - 0x226c], esi
call dword [0x425424]
add esp, 0xc
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x22d4]
push eax
call dword [0x425428]
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x2300]
call dword [0x425504]
lea eax, [ebp - 0x22d4]
push eax
lea ecx, [ebp - 0x22b4]
call fcn.0040de30
and esi, 0xffffdfff
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x22d4]
call dword [0x425504]
and esi, 0xffffefff
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x22d8]
call dword [0x425504]
and esi, 0xfffff7ff
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x22dc]
call dword [0x425504]
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x229c]
call dword [0x425504]
mov byte [edi + 0x269], 0
call fcn.0041b640
mov ecx, eax
call fcn.0041b760
cmp eax, 2
jg 0x413868
lea ecx, [ebp - 0x54]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4136d3
sub ecx, edx
lea eax, [ebp - 0x54]
push ecx
push eax
call dword [0x42549c]
add esp, 8
mov dword [ebp - 0x2298], eax
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0x2298]
push eax
lea ecx, [ebp - 0x2284]
call dword [0x425508]
push 0xffffffffffffffff
lea eax, [ebp - 0x22a4]
or esi, 0x4000
push 0x4289b0
push eax
mov dword [ebp - 0x226c], esi
call dword [0x425424]
add esp, 0xc
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x2284]
push eax
call dword [0x425428]
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x22a4]
call dword [0x425504]
mov byte [ebp - 4], 0x46
lea eax, [ebp - 0x2284]
push eax
lea ecx, [ebp - 0x2288]
call dword [0x425508]
push 0xffffffffffffffff
lea eax, [ebp - 0x28]
or esi, 0x8000
push eax
lea eax, [ebp - 0x22a0]
mov dword [ebp - 0x226c], esi
push eax
call dword [0x425424]
add esp, 0xc
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x2288]
push eax
call dword [0x425428]
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x22a0]
call dword [0x425504]
lea ecx, [ebp - 0x22e8]
mov dword [ebp - 0x22ec], 2
call dword [0x42550c]
mov byte [ebp - 4], 0x48
lea eax, [ebp - 0x22e8]
push eax
lea ecx, [ebp - 0x22e4]
call dword [0x4254dc]
mov byte [ebp - 4], 0x4a
lea eax, [ebp - 0x2288]
push eax
push 0x42899c
push dword [ebp - 0x2274]
lea ecx, [ebp - 0x22e4]
push 0x426f58
call dword [0x425480]
mov ecx, eax
call dword [0x425400]
mov ecx, eax
call dword [0x425480]
mov ecx, eax
call dword [0x4254d4]
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x22ec]
call fcn.0041b3b0
and esi, 0xffff7fff
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x2288]
call dword [0x425504]
and esi, 0xffffbfff
mov dword [ebp - 0x226c], esi
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x2284]
call dword [0x425504]
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x2298]
call dword [0x425504]
mov esi, dword [ebp - 0x2274]
add edi, 0x3a4
mov cl, byte [0x4b3188]
inc esi
movzx eax, cl
mov dword [ebp - 0x2274], esi
cmp esi, eax
jl 0x413037
test cl, cl
je 0x4138b1
push ecx
mov ecx, esp
mov dword [ebp - 0x22a0], esp
lea eax, [ebp - 0x22b4]
mov dword [ebp - 0x22a4], ecx
push eax
call fcn.004100c0
mov byte [ebp - 4], 0x4c
jmp 0x4138cb
push ecx
mov ecx, esp
mov dword [ebp - 0x22a0], esp
mov dword [ebp - 0x22a4], ecx
mov eax, dword [0x42536c]
mov dword [ecx], eax
mov byte [ebp - 4], 0x4e
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x22e0]
mov ecx, dword [ecx + 0x30]
call fcn.0040ad20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22b4]
call fcn.0040a9c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041d5fc
mov esp, ebp
pop ebp
ret