Function at 0x412db0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1258
call fcn.00424380
movsx eax, word [0x42bcf0]
mov ecx, dword [0x42bd14]
push ebx
push esi
push edi
push eax
push ecx
call fcn.0040e620
movsx edx, ax
push 0x45afffff
push edx
mov word [0x42bce6], ax
call fcn.0040e4c0
mov ebx, dword [ebp + 8]
mov byte [0x42bcda], al
mov ecx, 6
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [0x42bd0c]
mov ecx, dword [0x42bcf8]
push eax
push ecx
call fcn.0040e540
movsx ecx, word [0x42bcf0]
mov dl, byte [0x42bd10]
mov dword [0x42bd14], eax
movsx eax, byte [0x42bcdb]
push eax
push ecx
mov byte [0x42bcdd], dl
call fcn.0040e500
movsx edx, word [0x42bcec]
movsx eax, byte [0x42bcdb]
or edx, eax
mov al, byte [0x42c1e0]
add esp, 0x20
mov dword [0x42bd10], edx
test al, al
je 0x412ed2
mov cl, byte [0x42bcf2]
mov al, byte [0x42bcdc]
or cl, al
mov esi, 0x42c1c8
mov byte [0x42bcd9], cl
mov ecx, 6
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
movsx edx, byte [0x42bcde]
movsx eax, byte [0x42bcdf]
push edx
push eax
mov byte [0x42bcdd], 0xff
call fcn.0040e4c0
movsx ecx, word [0x42bce4]
push 0x618bffff
push ecx
mov byte [0x42bce0], al
call fcn.0040e540
push 0xc5efffff
push 0x1c7dffff
mov byte [0x42bcdc], al
call fcn.0040e620
add esp, 0x18
mov byte [0x42bcda], al
lea esp, [ebp - 0x1264]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x2bb5ffff
push 0x2f6dffff
call fcn.0040e5d0
mov dl, byte [0x42bcf0]
mov ecx, dword [0x42bd14]
mov byte [0x42bcdb], al
mov eax, dword [0x42bcfc]
neg dl
neg eax
push 0x2c27ffff
push ecx
mov byte [0x42bcd8], dl
mov word [0x42bce2], ax
call fcn.0040e670
mov byte [0x42bcd8], al
mov al, byte [0x42b9a4]
sub al, 0x1b
mov esi, 3
and eax, 0xff
mov ebx, 1
add eax, esi
add esp, 0x10
and al, 0xfc
mov dword [0x42bd10], 0xe70e0001
mov byte [0x42bcdd], bl
call fcn.00424380
mov ecx, esp
lea edx, [ebp - 0xa58]
push 0x800
lea eax, [ebp - 0x1a0]
push edx
push eax
lea edx, [ebp - 0x1a8]
lea eax, [ebp - 0x1c]
push edx
push eax
lea edx, [ebp - 0x1258]
push 0x800
push edx
mov edx, 0x42b9a4
call fcn.00422bc0
push eax
call dword [sym.imp.KERNEL32.DLL_GetVolumeInformationA]
test eax, eax
je 0x412fc6
mov al, byte [0x42bd08]
mov cl, byte [0x42bd10]
mov edx, dword [0x42bd18]
and al, cl
mov ecx, dword [0x42bd04]
mov byte [0x42bcd9], al
mov eax, dword [0x42bcfc]
dec ecx
mov word [0x42bce4], cx
mov ecx, dword [ebp + 8]
and edx, eax
mov eax, dword [ebp - 0x1c]
mov word [0x42bcee], dx
mov dword [ecx], eax
mov al, byte [0x42bcdf]
push 0x5199ffff
test al, al
setne dl
push 0x8e33ffff
mov byte [0x42bcd8], dl
call fcn.0040e6b0
mov dword [0x42bd18], eax
push 0xa7abffff
movsx eax, byte [0x42bcdd]
push eax
call fcn.0040e670
add esp, 0x10
cmp word [0x42bcf2], 0
mov dword [0x42bd00], eax
je 0x41301d
mov eax, dword [0x42bd18]
mov byte [0x42bce0], bl
test eax, eax
jne 0x413024
mov byte [0x42bce0], 0
cmp word [0x42bcea], 0
setne cl
mov byte [0x42bcda], cl
call fcn.00414190
mov edx, dword [ebp + 8]
mov dword [edx + 0xc], eax
mov word [0x42bcf0], bx
movsx eax, byte [0x42bcdc]
push eax
push 0x4091ffff
call fcn.0040e670
movsx ecx, byte [0x42bcd9]
movsx edx, word [0x42bcea]
push ecx
push edx
mov dword [0x42bcf8], eax
call fcn.0040e540
movsx ecx, word [0x42bce2]
movsx edx, byte [0x42bce0]
mov word [0x42bcec], ax
sub ecx, 0x5a85ffff
movsx ax, byte [0x42bcdf]
dec eax
push edx
push 0xceb1ffff
mov word [0x42bcf2], ax
mov dword [0x42bd00], ecx
call fcn.0040e4c0
mov word [0x42bcea], ax
mov eax, dword [0x42bd08]
push eax
push 0xcd7fffff
call fcn.0040e5d0
mov byte [0x42bcdd], al
mov al, byte [0x42b994]
sub al, 0x1b
add esp, 0x20
and eax, 0xff
add eax, esi
and al, 0xfc
call fcn.00424380
mov ecx, esp
mov edx, 0x42b994
call fcn.00422bc0
push eax
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
movsx ecx, byte [0x42bcd9]
mov edi, eax
push 0xcd2dffff
push ecx
mov dword [ebp - 8], edi
mov byte [0x42bcd8], bl
call fcn.0040e540
movsx edx, word [0x42bcee]
push 0xa937ffff
push edx
mov word [0x42bce6], ax
call fcn.0040e620
mov word [0x42bcf0], ax
movsx eax, word [0x42bcec]
push eax
push 0xf54fffff
call fcn.0040e6b0
add esp, 0x18
cmp edi, 0x20
mov byte [0x42bcd8], al
jb 0x413c9c
mov ecx, dword [0x42bd14]
mov dword [0x42bcf8], 0x97180001
push ecx
push 0xdf4bffff
call fcn.0040e620
mov edx, dword [0x42bd04]
mov dword [0x42bd18], eax
movsx eax, byte [0x42bcda]
push edx
push eax
call fcn.0040e4c0
push 0x6cfbffff
push 0xaba1ffff
mov dword [0x42bd00], eax
call fcn.0040e620
mov byte [0x42bcdb], al
mov al, byte [0x42b980]
sub al, 0x1b
add esp, 0x18
and eax, 0xff
add eax, esi
and al, 0xfc
call fcn.00424380
mov ecx, esp
mov edx, 0x42b980
call fcn.00422bc0
push eax
push edi
mov edi, dword [sym.imp.KERNEL32.DLL_GetProcAddress]
call edi
movsx ecx, byte [0x42bcda]
movsx edx, byte [0x42bcd9]
push ecx
push edx
mov dword [ebp - 4], eax
call fcn.0040e5d0
mov dword [0x42bcfc], eax
mov al, byte [0x42bcf2]
add esp, 8
dec al
mov byte [0x42bce0], al
mov al, byte [0x42b968]
sub al, 0x1b
and eax, 0xff
add eax, esi
and al, 0xfc
call fcn.00424380
mov ecx, esp
mov edx, 0x42b968
call fcn.00422bc0
mov ecx, dword [ebp - 8]
push eax
push ecx
call edi
movsx edx, byte [0x42bcdf]
push 0x6961ffff
push edx
call fcn.0040e620
mov byte [0x42bcdb], al
movsx eax, word [0x42bce2]
push eax
push 0x67cdffff
call fcn.0040e500
mov dword [0x42bd0c], eax
mov al, byte [0x42b954]
sub al, 0x1b
add esp, 0x10
and eax, 0xff
mov byte [0x42bcd9], bl
add eax, esi
and al, 0xfc
call fcn.00424380
mov ecx, esp
mov edx, 0x42b954
call fcn.00422bc0
mov ecx, dword [ebp - 8]
push eax
push ecx
call edi
mov dword [ebp - 0x10], eax
mov word [0x42bce6], 0
push 0x3679ffff
push 0xbf87ffff
call fcn.0040e5d0
mov byte [0x42bcde], al
mov al, byte [0x42b940]
sub al, 0x1b
add esp, 8
and eax, 0xff
add eax, esi
and al, 0xfc
call fcn.00424380
mov ecx, esp
mov edx, 0x42b940
call fcn.00422bc0
mov edx, dword [ebp - 8]
push eax
push edx
call edi
push 0xf695ffff
push 0xaa11ffff
call fcn.0040e5d0
mov al, byte [0x42bcfc]
mov ecx, dword [0x42bd00]
mov dl, byte [0x42bce4]
push 0xf3c1ffff
neg al
inc ecx
push 0xf3ffff
mov byte [0x42bcdb], al
mov word [0x42bcf2], cx
mov byte [0x42bcd9], dl
call fcn.0040e5d0
add esp, 0x10
cmp word [0x42bcea], 0
mov dword [0x42bd0c], eax
je 0x413330
mov eax, dword [0x42bd00]
mov word [0x42bcea], bx
test eax, eax
jne 0x413339
mov word [0x42bcea], 0
movsx eax, byte [0x42bcd9]
push eax
push 0xb181ffff
call fcn.0040e540
mov edi, dword [ebp - 4]
add esp, 8
test edi, edi
mov byte [0x42bce0], al
je 0x413c0f
lea ecx, [ebp - 0x1b0]
lea edx, [ebp - 0x1a4]
push ecx
push edx
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push eax
call edi
test eax, eax
je 0x413c0f
movsx ecx, byte [0x42bcdc]
mov edi, 2
lea eax, [ebp - 0x84]
push ecx
push 0x69efffff
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], 6
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x44], 8
mov dword [ebp - 0x40], eax
mov word [0x42bce6], bx
mov word [0x42bcec], 0xffff
call fcn.0040e6b0
movsx ecx, byte [0x42bcda]
mov byte [0x42bcdf], al
mov eax, dword [0x42bd18]
lea edx, [ebp - 0x124]
push eax
push ecx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x11c], 6
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x100], esi
mov dword [ebp - 0x5c], 0xa
mov dword [ebp - 0x58], edx
call fcn.0040e6b0
movsx edx, byte [0x42bcdb]
mov byte [0x42bcdd], al
push edx
movsx eax, word [0x42bcee]
push eax
call fcn.0040e670
movsx edx, byte [0x42bcdc]
mov ecx, dword [0x42bd0c]
mov byte [0x42bcda], al
push ecx
push edx
call fcn.0040e4c0
mov ecx, dword [0x42bd18]
mov word [0x42bce4], ax
movsx ax, byte [0x42bcdd]
lea edx, [ebp - 0xd4]
add eax, ecx
mov dword [ebp - 0x50], edx
mov edx, dword [0x42bd00]
mov word [0x42bce2], ax
add esp, 0x20
mov eax, 6
mov ecx, 0xa
test edx, edx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x54], ecx
je 0x4134fa
mov edx, dword [0x42bd0c]
mov word [0x42bcf0], bx
test edx, edx
jne 0x413503
mov word [0x42bcf0], 0
mov dword [ebp - 0x4c], ecx
mov ecx, dword [0x42bd14]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xfc]
push 0x92a1ffff
push ecx
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], edi
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], 4
mov dword [ebp - 0xe0], 0x14
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0x48], eax
call fcn.0040e540
mov eax, dword [0x42bd08]
push 0x5d1bffff
push 0x9c7dffff
mov dword [ebp - 0x14c], ebx
lea edx, [eax + eax*8]
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x144], 6
mov dword [ebp - 0x140], ebx
lea ecx, [eax + edx*2]
mov dword [ebp - 0x13c], edi
movsx edx, byte [0x42bcdc]
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x138], ebx
shl ecx, 0x16
sub ecx, eax
mov dword [ebp - 0x134], 4
movsx eax, word [0x42bcf2]
mov dword [0x42bd14], ecx
add edx, eax
lea ecx, [ebp - 0x14c]
mov dword [0x42bd18], edx
mov dword [ebp - 0x130], 0x14
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x2c], 0xa
mov dword [ebp - 0x28], ecx
call fcn.0040e620
movsx edx, byte [0x42bcdc]
push 0xbb39ffff
push edx
mov byte [0x42bcdb], al
call fcn.0040e580
push 0x105ffff
push 0x2e15ffff
mov dword [0x42bd14], eax
call fcn.0040e6b0
push 0xb18fffff
push 0x4bffff
mov byte [0x42bcdb], al
call fcn.0040e4c0
mov byte [0x42bcdd], al
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x60], eax
mov eax, dword [0x42bd14]
mov edx, 6
mov ecx, 0xa
mov dword [ebp - 0x19c], ebx
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x190], ebx
mov dword [ebp - 0x18c], edi
mov dword [ebp - 0x188], ebx
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0x178], edi
mov dword [ebp - 0x64], ecx
mov word [0x42bce6], ax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0xac]
neg eax
push 0x1041ffff
push 0xeb87ffff
mov dword [ebp - 0x94], 4
mov dword [ebp - 0x90], 0x14
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x30], ecx
mov word [0x42bce2], ax
call fcn.0040e5d0
mov dx, word [0x42bce2]
mov byte [0x42bcd9], al
lea eax, [ebp - 0x174]
add esp, 0x30
mov word [0x42bcea], dx
mov dword [ebp - 0x38], eax
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x258]
lea ecx, [ebp - 0x258]
push edx
push eax
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x16c], 6
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x164], edi
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x3c], 0xa
mov byte [0x42bcda], 0xff
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ebx
call sub.snmpapi.dll_SnmpUtilOidCpy
mov cl, byte [0x42bce8]
mov dl, byte [0x42bd10]
sub cl, dl
movsx edx, word [0x42bcec]
push edx
push 0xab85ffff
mov byte [0x42bcde], cl
call fcn.0040e480
add esp, 8
mov byte [0x42bcd8], al
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x20]
push eax
lea edx, [ebp - 0x18]
push ecx
push edx
push 0xa1
call dword [ebp - 0x10]
mov edi, dword [0x42bcf8]
xor esi, esi
movsx edx, word [0x42bce2]
xor eax, eax
cmp edi, esi
setne al
mov dword [0x42bd04], eax
xor ecx, ecx
cmp word [0x42bcec], si
mov edi, dword [ebp - 0x24c]
movsx eax, byte [0x42bcdd]
setne cl
add edx, eax
mov word [0x42bcea], cx
mov dword [0x42bcf8], edx
lea ecx, [ebp - 0x5c]
lea edx, [ebp - 0x258]
push ecx
push edx
mov dword [0x42bd10], 0xa027fffe
mov dword [0x42bd14], 0xab420000
mov word [0x42bce2], 0xffff
mov byte [0x42bcd9], bl
call sub.snmpapi.dll_SnmpUtilOidCpy
lea eax, [ebp - 0x54]
lea ecx, [ebp - 0x240]
push eax
push ecx
call sub.snmpapi.dll_SnmpUtilOidCpy
mov edx, dword [0x42bcfc]
mov byte [0x42bcd9], 0xff
push edx
push 0xc991ffff
call fcn.0040e670
mov word [0x42bce6], ax
movsx eax, word [0x42bcea]
push eax
push 0xa049ffff
call fcn.0040e480
movsx ecx, byte [0x42bcde]
push 0xd62fffff
push ecx
mov dword [0x42bd0c], eax
call fcn.0040e620
add esp, 0x18
mov dword [0x42bd14], eax
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x228]
push edx
push eax
mov dword [ebp - 0x14], 7
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x9095ffff
push 0xab49ffff
mov dword [0x42bcfc], 0xb5bffffe
call fcn.0040e580
add esp, 8
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x210]
mov byte [0x42bce0], al
push ecx
push edx
call sub.snmpapi.dll_SnmpUtilOidCpy
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0x1f8]
push eax
push ecx
call sub.snmpapi.dll_SnmpUtilOidCpy
cmp word [0x42bce2], si
je 0x413913
mov al, byte [0x42bcda]
mov word [0x42bcea], bx
test al, al
jne 0x41391a
mov word [0x42bcea], si
lea edx, [ebp - 0x34]
lea eax, [ebp - 0x1e0]
push edx
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
lea ecx, [ebp - 0x3c]
lea edx, [ebp - 0x1c8]
push ecx
push edx
call sub.snmpapi.dll_SnmpUtilOidCpy
movsx ecx, word [0x42bce8]
mov eax, dword [0x42bd18]
push eax
push ecx
call fcn.0040e620
mov byte [0x42bcdf], al
movsx eax, word [0x42bcee]
mov edx, eax
shl edx, 6
add edx, eax
shl edx, 4
sub edx, eax
shl edx, 2
sub edx, eax
movsx ecx, word [0x42bcec]
neg edx
shl edx, 0x11
sub edx, eax
mov al, byte [0x42bce2]
mov dword [0x42bd00], edx
push ecx
movsx edx, al
push edx
mov byte [0x42bce0], al
call fcn.0040e5d0
mov ecx, dword [0x42bd0c]
mov word [0x42bce2], ax
add esp, 0x10
xor eax, eax
cmp ecx, esi
mov dword [ebp - 0xc], esi
setne al
test edi, edi
mov word [0x42bcee], ax
jbe 0x413c0f
mov dword [ebp - 4], edi
mov ecx, dword [0x42bd00]
push ecx
push 0xd5ffff
call fcn.0040e580
add esp, 8
mov byte [0x42bcdf], al
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x18]
push eax
push ecx
push 0xa1
mov dword [0x42bd08], 0x803ffff
call dword [ebp - 0x10]
cmp dword [ebp - 0x230], 6
jb 0x413bfb
mov edx, dword [0x42bd04]
push 0x6e45ffff
push edx
call fcn.0040e540
mov dword [0x42bd14], eax
mov eax, dword [ebp - 0xc]
add esp, 8
test eax, eax
jne 0x413b02
mov cl, byte [0x42bcd8]
xor eax, eax
test cl, cl
setne al
mov dword [0x42bd0c], eax
mov eax, dword [ebp - 0x234]
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov edi, dword [ebp + 8]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
shl ecx, 8
add ecx, edx
mov dword [edi + 4], ecx
mov ax, word [0x42bcee]
mov word [0x42bcea], ax
mov eax, dword [0x42bd08]
test eax, eax
mov al, byte [0x42bcdd]
je 0x413a7e
test al, al
mov dword [0x42bd00], ebx
jne 0x413a88
mov dword [0x42bd00], 0
movsx ecx, byte [0x42bcdc]
movsx edx, word [0x42bcf2]
imul ecx, edx
movsx eax, al
mov dword [0x42bd04], ecx
mov ecx, dword [0x42bcf8]
push eax
push ecx
call fcn.0040e540
mov byte [0x42bcde], al
mov eax, dword [ebp - 0x234]
xor edx, edx
xor ecx, ecx
mov dl, byte [eax + 3]
mov cl, byte [eax + 4]
shl edx, 8
add edx, ecx
xor ecx, ecx
mov cl, byte [eax + 5]
push 0xf3ddffff
shl edx, 8
add edx, ecx
push 0x815dffff
mov dword [edi + 8], edx
call fcn.0040e5d0
movsx dx, byte [0x42bce0]
add esp, 0x10
inc edx
mov byte [0x42bcda], al
mov word [0x42bcee], dx
mov dword [ebp - 0xc], ebx
jmp 0x413b05
mov edi, dword [ebp + 8]
cmp dword [ebp - 0x24c], 6
jne 0x413bfb
test esi, esi
jne 0x413bfb
mov eax, dword [0x42bd10]
push eax
push 0xf9c5ffff
call fcn.0040e500
mov ecx, dword [0x42bd0c]
push 0x4c71ffff
push ecx
mov dword [0x42bd00], eax
call fcn.0040e6b0
mov edx, dword [0x42bcfc]
push 0xf185ffff
push edx
mov byte [0x42bcdd], al
call fcn.0040e620
mov dword [0x42bd18], eax
mov eax, dword [ebp - 0x234]
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [eax + 1]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
push 0xa8bbffff
shl ecx, 8
add ecx, edx
push 0x9f13ffff
mov dword [edi + 0x10], ecx
mov byte [0x42bce0], 0
call fcn.0040e620
mov word [0x42bcec], ax
mov eax, dword [ebp - 0x234]
xor ecx, ecx
xor edx, edx
mov cl, byte [eax + 3]
mov dl, byte [eax + 4]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 5]
add esp, 0x20
shl ecx, 8
add ecx, edx
xor edx, edx
mov dword [edi + 0x14], ecx
mov al, byte [0x42bcf8]
mov cl, byte [0x42bd10]
mov byte [0x42bcdd], al
mov eax, dword [0x42bd0c]
mov esi, ebx
imul eax, eax, 0xd7a5ffff
neg cl
cmp word [0x42bcf0], dx
mov dword [0x42bcf8], eax
mov byte [0x42bcdc], cl
setne dl
mov dword [0x42bd0c], edx
jmp 0x413c00
mov eax, dword [0x42bcf8]
mov ecx, dword [ebp - 4]
dec ecx
mov dword [ebp - 4], ecx
jne 0x4139bc
jmp 0x413c14
mov eax, dword [0x42bcf8]
push eax
push 0x82c1ffff
call fcn.0040e540
push 0x6361ffff
push 0x9499ffff
mov byte [0x42bcdc], al
call fcn.0040e540
add esp, 0x10
mov byte [0x42bcde], al
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
movsx edx, byte [0x42bcd9]
mov ecx, dword [0x42bd0c]
push ecx
push edx
call fcn.0040e6b0
mov byte [0x42bcdc], al
mov eax, dword [0x42bd18]
push eax
push 0xf9f1ffff
call fcn.0040e500
mov word [0x42bce6], ax
mov eax, dword [0x42bd14]
mov edx, dword [0x42bd04]
add esp, 0x10
lea ecx, [eax + eax*2]
lea ecx, [eax + ecx*8]
shl ecx, 0x11
sub ecx, eax
and edx, ecx
mov dword [0x42bcfc], ecx
mov word [0x42bcee], dx
movsx eax, byte [0x42bcdf]
push 0x6241ffff
push eax
mov byte [0x42c1e0], bl
call fcn.0040e500
mov esi, dword [ebp + 8]
mov ecx, 6
mov edi, 0x42c1c8
mov byte [0x42bcda], al
mov eax, dword [0x42bd10]
add esp, 8
rep movsd dword es:[edi], dword [esi]
movsx ecx, word [0x42bcea]
lea esp, [ebp - 0x1264]
add eax, ecx
mov dword [0x42bd10], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret