Function at 0x4150a0
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x84
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
xor esi, esi
mov edi, dword [0x4655f0]
xor edi, ebp
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 8]
mov dword [esp], edi
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0x5f86a077
mov eax, dword [ebp - 0x24]
mov ecx, eax
sub ecx, 0x81eed15b
mov dword [ebp - 0x44], eax
je 0x416818
jmp 0x415136
mov eax, dword [ebp - 0x44]
sub eax, 0x86660192
je 0x41652d
jmp 0x415149
mov eax, dword [ebp - 0x44]
sub eax, 0x8ad3b5d3
je 0x4166d1
jmp 0x41515c
mov eax, dword [ebp - 0x44]
sub eax, 0x9744f92f
je 0x416628
jmp 0x41516f
mov eax, dword [ebp - 0x44]
sub eax, 0x9c3105b9
je 0x416244
jmp 0x415182
mov eax, dword [ebp - 0x44]
sub eax, 0xa8a1bb97
je 0x416184
jmp 0x415195
mov eax, dword [ebp - 0x44]
sub eax, 0xaa0e4180
je 0x415a78
jmp 0x4151a8
mov eax, dword [ebp - 0x44]
sub eax, 0xac445607
je 0x4157da
jmp 0x4151bb
mov eax, dword [ebp - 0x44]
sub eax, 0xad84e6b2
je 0x416800
jmp 0x4151ce
mov eax, dword [ebp - 0x44]
sub eax, 0xafb9a91a
je 0x4162b7
jmp 0x4151e1
mov eax, dword [ebp - 0x44]
sub eax, 0xb3b58dcf
je 0x415e63
jmp 0x4151f4
mov eax, dword [ebp - 0x44]
sub eax, 0xb424a166
je 0x415dd9
jmp 0x415207
mov eax, dword [ebp - 0x44]
sub eax, 0xb9fcf585
je 0x4166a6
jmp 0x41521a
mov eax, dword [ebp - 0x44]
sub eax, 0xc4267e93
je 0x415ccc
jmp 0x41522d
mov eax, dword [ebp - 0x44]
sub eax, 0xc85f52c2
je 0x416634
jmp 0x415240
mov eax, dword [ebp - 0x44]
sub eax, 0xd2715154
je 0x416081
jmp 0x415253
mov eax, dword [ebp - 0x44]
sub eax, 0xd5008c8f
je 0x416544
jmp 0x415266
mov eax, dword [ebp - 0x44]
sub eax, 0xe3c2dd35
je 0x416824
jmp 0x415279
mov eax, dword [ebp - 0x44]
sub eax, 0xe781782a
je 0x415b4d
jmp 0x41528c
mov eax, dword [ebp - 0x44]
sub eax, 0xebb0ae50
je 0x41599e
jmp 0x41529f
mov eax, dword [ebp - 0x44]
sub eax, 0xee841ddf
je 0x416550
jmp 0x4152b2
mov eax, dword [ebp - 0x44]
sub eax, 0xf1cecfeb
je 0x41639d
jmp 0x4152c5
mov eax, dword [ebp - 0x44]
sub eax, 0xf26b8591
je 0x41576e
jmp 0x4152d8
mov eax, dword [ebp - 0x44]
sub eax, 0xf2f143a2
je 0x41637a
jmp 0x4152eb
mov eax, dword [ebp - 0x44]
sub eax, 0xf40d138c
je 0x4156bc
jmp 0x4152fe
mov eax, dword [ebp - 0x44]
sub eax, 0xf4c13275
je 0x41632a
jmp 0x415311
mov eax, dword [ebp - 0x44]
sub eax, 0xf52021ab
je 0x415df3
jmp 0x415324
mov eax, dword [ebp - 0x44]
sub eax, 0xf7c9be9e
je 0x4160c7
jmp 0x415337
mov eax, dword [ebp - 0x44]
sub eax, 0xf8d24240
je 0x415728
jmp 0x41534a
mov eax, dword [ebp - 0x44]
sub eax, 0xf9c5732d
je 0x416502
jmp 0x41535d
mov eax, dword [ebp - 0x44]
sub eax, 0xf9e0d2e9
je 0x41684f
jmp 0x415370
mov eax, dword [ebp - 0x44]
sub eax, 0x1005466
je 0x415e16
jmp 0x415383
mov eax, dword [ebp - 0x44]
sub eax, 0xb233a2a
je 0x415a5e
jmp 0x415396
mov eax, dword [ebp - 0x44]
sub eax, 0xd698e7a
je 0x4167dd
jmp 0x4153a9
mov eax, dword [ebp - 0x44]
sub eax, 0x10654769
je 0x415f7b
jmp 0x4153bc
mov eax, dword [ebp - 0x44]
sub eax, 0x11418c6a
je 0x4160d3
jmp 0x4153cf
mov eax, dword [ebp - 0x44]
sub eax, 0x1597d04b
je 0x416744
jmp 0x4153e2
mov eax, dword [ebp - 0x44]
sub eax, 0x1a0f8f59
je 0x415fc8
jmp 0x4153f5
mov eax, dword [ebp - 0x44]
sub eax, 0x237b7c3f
je 0x415d66
jmp 0x415408
mov eax, dword [ebp - 0x44]
sub eax, 0x23ffe152
je 0x415b59
jmp 0x41541b
mov eax, dword [ebp - 0x44]
sub eax, 0x25e029a4
je 0x415c12
jmp 0x41542e
mov eax, dword [ebp - 0x44]
sub eax, 0x283ffee8
je 0x415aeb
jmp 0x415441
mov eax, dword [ebp - 0x44]
sub eax, 0x30d486c0
je 0x416488
jmp 0x415454
mov eax, dword [ebp - 0x44]
sub eax, 0x33231f2a
je 0x4164d7
jmp 0x415467
mov eax, dword [ebp - 0x44]
sub eax, 0x33ce54b1
je 0x41647c
jmp 0x41547a
mov eax, dword [ebp - 0x44]
sub eax, 0x443fe5e2
je 0x41680c
jmp 0x41548d
mov eax, dword [ebp - 0x44]
sub eax, 0x45dc58e7
je 0x41669a
jmp 0x4154a0
mov eax, dword [ebp - 0x44]
sub eax, 0x4d84a481
je 0x416683
jmp 0x4154b3
mov eax, dword [ebp - 0x44]
sub eax, 0x4d8e0644
je 0x4161d1
jmp 0x4154c6
mov eax, dword [ebp - 0x44]
sub eax, 0x4e0a47c0
je 0x415eb0
jmp 0x4154d9
mov eax, dword [ebp - 0x44]
sub eax, 0x4e4b7a18
je 0x415932
jmp 0x4154ec
mov eax, dword [ebp - 0x44]
sub eax, 0x4e5c3036
je 0x416111
jmp 0x4154ff
mov eax, dword [ebp - 0x44]
sub eax, 0x50bfda22
je 0x416410
jmp 0x415512
mov eax, dword [ebp - 0x44]
sub eax, 0x54844094
je 0x415640
jmp 0x415525
mov eax, dword [ebp - 0x44]
sub eax, 0x573b4620
je 0x4160f2
jmp 0x415538
mov eax, dword [ebp - 0x44]
sub eax, 0x57cb50e0
je 0x415ba6
jmp 0x41554b
mov eax, dword [ebp - 0x44]
sub eax, 0x57ea196b
je 0x41600e
jmp 0x41555e
mov eax, dword [ebp - 0x44]
sub eax, 0x5d2d1890
je 0x415820
jmp 0x415571
mov eax, dword [ebp - 0x44]
sub eax, 0x5ee2bdd4
je 0x4167e9
jmp 0x415584
mov eax, dword [ebp - 0x44]
sub eax, 0x5f86a077
je 0x415621
jmp 0x415597
mov eax, dword [ebp - 0x44]
sub eax, 0x6349c863
je 0x4165bc
jmp 0x4155aa
mov eax, dword [ebp - 0x44]
sub eax, 0x64980e33
je 0x415d19
jmp 0x4155bd
mov eax, dword [ebp - 0x44]
sub eax, 0x67b2f07b
je 0x415650
jmp 0x4155d0
mov eax, dword [ebp - 0x44]
sub eax, 0x681013aa
je 0x415efd
jmp 0x4155e3
mov eax, dword [ebp - 0x44]
sub eax, 0x72d64ffe
je 0x4167d1
mov eax, dword [ebp - 0x20]
mov ecx, 0xffffffff
cmp eax, ecx
mov eax, 0x54844094
mov ecx, 0x67b2f07b
cmove ecx, eax
mov dword [ebp - 0x24], ecx
jmp 0x416869
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], 0x4e5c3036
jmp 0x416869
xor eax, eax
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0xf40d138c
mov edi, 0xf1cecfeb
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
xor eax, eax
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0xf8d24240
mov edi, 0x33231f2a
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
xor eax, eax
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xf26b8591
mov edx, 0x45dc58e7
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
xor eax, eax
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov esi, 0xac445607
mov edi, 0x45dc58e7
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
xor eax, eax
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x5d2d1890
mov edx, 0xf9c5732d
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0xe343e807
sub edx, 1
sub edx, 0xe343e807
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov esi, 0x7f30c6d2
mov edi, 0xee841ddf
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
xor eax, eax
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0xebb0ae50
mov edi, 0xf9c5732d
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0xa2e77e01
sub edx, 1
sub edx, 0xa2e77e01
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0x7d225536
mov edi, 0x33231f2a
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov al, byte [ebp - 0x1a]
test al, 1
mov ecx, 0xaa0e4180
mov edx, 0x23ffe152
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0x81a6c6a6
sub edx, 1
add edx, 0x81a6c6a6
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0x283ffee8
mov edi, 0x8ad3b5d3
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x25], 0
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
mov esi, ecx
add esi, 0x1e1fefb4
sub esi, 1
sub esi, 0x1e1fefb4
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov edx, 0xe781782a
mov esi, 0x8ad3b5d3
cmovne esi, edx
mov dword [ebp - 0x24], esi
jmp 0x416869
mov dword [ebp - 0x24], 0x4e5c3036
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0xe19e9c65
sub edx, 1
add edx, 0xe19e9c65
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x57cb50e0
mov edx, 0x30d486c0
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
xor eax, eax
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov esi, 0x25e029a4
mov edi, 0xc85f52c2
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call fcn.00451303
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp + 0xc]
mov esi, dword [esi]
mov edi, dword [ebp - 0x2c]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [ebp - 0x4c], ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub esp, 0x14
xor ecx, ecx
cmp eax, 0
setne bl
and bl, 1
mov byte [ebp - 0x19], bl
mov eax, dword [0x465f0c]
mov edx, dword [0x465f10]
sub ecx, 1
mov esi, eax
add esi, ecx
imul eax, esi
and eax, 1
cmp eax, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0xc4267e93
mov edi, 0xc85f52c2
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0x5738af1e
sub edx, 1
add edx, 0x5738af1e
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x64980e33
mov edx, 0xd698e7a
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0xd2be9813
sub edx, 1
add edx, 0xd2be9813
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x237b7c3f
mov edx, 0xd698e7a
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0xb373472f
sub edx, 1
sub edx, 0xb373472f
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov esi, 0xb424a166
mov edi, 0x30d486c0
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov al, byte [ebp - 0x19]
test al, 1
mov ecx, 0x573b4620
mov edx, 0xf52021ab
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0
mov eax, 0x11418c6a
mov ecx, 0x1005466
cmove ecx, eax
mov dword [ebp - 0x24], ecx
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0x25e586e0
sub edx, 1
add edx, 0x25e586e0
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xb3b58dcf
mov edx, 0x86660192
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0x8647590d
sub edx, 1
add edx, 0x8647590d
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x4e0a47c0
mov edx, 0x4d84a481
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0x873d50ad
sub edx, 1
add edx, 0x873d50ad
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x681013aa
mov edx, 0x5ee2bdd4
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.0045130c
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0xd3748d92
sub edx, 1
sub edx, 0xd3748d92
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov esi, 0x10654769
mov edi, 0x5ee2bdd4
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0x85d2586
sub edx, 1
add edx, 0x85d2586
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x1a0f8f59
mov edx, 0x4d84a481
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
xor eax, eax
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x57ea196b
mov edx, 0x86660192
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0x904136cf
sub edx, 1
sub edx, 0x904136cf
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0xd2715154
mov edi, 0xad84e6b2
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
xor eax, eax
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xf7c9be9e
mov edx, 0xad84e6b2
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov dword [ebp - 0x24], 0x11418c6a
jmp 0x416869
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], 0x4e5c3036
jmp 0x416869
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x25], 1
mov dword [ebp - 0x24], 0x4e5c3036
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0x261524ed
sub edx, 1
sub edx, 0x261524ed
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov esi, 0xa8a1bb97
mov edi, 0x81eed15b
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0x8e8dcade
sub edx, 1
sub edx, 0x8e8dcade
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x4d8e0644
mov edx, 0x81eed15b
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0xa4afe600
sub edx, 1
sub edx, 0xa4afe600
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov esi, 0x9c3105b9
mov edi, 0x443fe5e2
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0xa23d0529
sub edx, 1
add edx, 0xa23d0529
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0xafb9a91a
mov edi, 0x443fe5e2
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0xfbd6a9ab
sub edx, 1
add edx, 0xfbd6a9ab
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0xf4c13275
mov edi, 0xd5008c8f
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
xor eax, eax
mov cl, byte [ebp - 0x25]
and cl, 1
mov byte [ebp - 0x11], cl
mov edx, dword [0x465f0c]
mov esi, dword [0x465f10]
sub eax, 1
mov edi, edx
add edi, eax
imul edx, edi
and edx, 1
cmp edx, 0
sete cl
cmp esi, 0xa
setl ch
mov bl, cl
and bl, ch
xor cl, ch
or bl, cl
test bl, 1
mov eax, 0xf2f143a2
mov edx, 0xd5008c8f
cmovne edx, eax
mov dword [ebp - 0x24], edx
jmp 0x416869
mov al, byte [ebp - 0x11]
and al, 1
movzx eax, al
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
mov dword [ebp - 0x50], eax
call fcn.00451311
mov eax, dword [ebp - 0x50]
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0x91b90af6
sub edx, 1
sub edx, 0x91b90af6
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0x50bfda22
mov edi, 0xe3c2dd35
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
xor eax, eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
sub esp, 8
mov dword [ebp - 0x30], eax
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
sub edx, 0x145de288
sub edx, 1
add edx, 0x145de288
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x33ce54b1
mov edx, 0xe3c2dd35
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov dword [ebp - 0x24], 0xf40d138c
jmp 0x416869
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call fcn.00451303
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp + 0xc]
mov esi, dword [esi]
mov edi, dword [ebp - 0x2c]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [ebp - 0x58], ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub esp, 0x14
mov dword [ebp - 0x24], 0x57cb50e0
jmp 0x416869
xor eax, eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [ebp - 0x5c], eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
sub esp, 8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0xf8d24240
jmp 0x416869
xor eax, eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [ebp - 0x60], eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
sub esp, 8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0x5d2d1890
jmp 0x416869
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.0045130c
mov dword [ebp - 0x24], 0xb3b58dcf
jmp 0x416869
mov dword [ebp - 0x24], 0xf4c13275
jmp 0x416869
xor eax, eax
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0x6349c863
mov edi, 0xb9fcf585
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
xor eax, eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [ebp - 0x64], eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
sub esp, 8
mov dword [ebp - 0x30], eax
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0x34776108
sub edx, 1
sub edx, 0x34776108
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x9744f92f
mov edx, 0xb9fcf585
cmovne edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x416869
mov dword [ebp - 0x24], 0x7f30c6d2
jmp 0x416869
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call fcn.00451303
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp + 0xc]
mov esi, dword [esi]
mov edi, dword [ebp - 0x2c]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [ebp - 0x68], ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub esp, 0x14
mov dword [ebp - 0x24], 0x25e029a4
jmp 0x416869
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.0045130c
mov dword [ebp - 0x24], 0x4e0a47c0
jmp 0x416869
mov dword [ebp - 0x24], 0xf26b8591
jmp 0x416869
xor eax, eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [ebp - 0x6c], eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
sub esp, 8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0x6349c863
jmp 0x416869
mov eax, dword [0x465f0c]
mov ecx, dword [0x465f10]
mov edx, eax
add edx, 0x5e55c77
sub edx, 1
sub edx, 0x5e55c77
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov esi, 0x1597d04b
mov edi, 0xf9e0d2e9
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x25], 0
mov ecx, dword [0x465f0c]
mov edx, dword [0x465f10]
mov esi, ecx
sub esi, 0xe5f50810
sub esi, 1
add esi, 0xe5f50810
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
xor cl, 0xff
mov ch, bh
xor ch, 0xff
mov dl, 1
xor dl, 0
mov dh, cl
and dh, 0
and bl, dl
mov byte [ebp - 0x6d], ch
and ch, 0
and bh, dl
or dh, bl
or ch, bh
xor dh, ch
mov ch, byte [ebp - 0x6d]
or cl, ch
xor cl, 0xff
or dl, 0
and cl, dl
or dh, cl
test dh, 1
mov esi, 0x72d64ffe
mov edi, 0xf9e0d2e9
cmovne edi, esi
mov dword [ebp - 0x24], edi
jmp 0x416869
mov dword [ebp - 0x24], 0x64980e33
jmp 0x416869
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.0045130c
mov dword [ebp - 0x24], 0x681013aa
jmp 0x416869
mov dword [ebp - 0x24], 0xd2715154
jmp 0x416869
mov dword [ebp - 0x24], 0x9c3105b9
jmp 0x416869
mov dword [ebp - 0x24], 0xa8a1bb97
jmp 0x416869
xor eax, eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [ebp - 0x74], eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
sub esp, 8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0x50bfda22
jmp 0x416869
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], 0x1597d04b
jmp 0x41511d