Function at 0x420d53
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov dword [esp], 0xbb90c67c
xor edi, edi
mov ebp, 0xd7
mov esi, 0x96
mov eax, dword [esp]
cmp eax, 0xfc661b1b
jle 0x420dee
cmp eax, 0x43c33c98
jg 0x420e68
cmp eax, 0x2b4829d9
jle 0x420f34
cmp eax, 0x3e11c0bd
jle 0x421024
cmp eax, 0x3e11c0be
je 0x4211e3
cmp eax, 0x41d92439
je 0x4211ef
cmp eax, 0x42bd2fc1
jne 0x420d6d
mov eax, dword [esp + 4]
lea ecx, [eax + eax*8]
lea ecx, [ecx + ecx*2]
add ecx, eax
lea ebx, [eax + ecx]
add ebx, 0x3828
mov dword [esp + 4], ebx
call fcn.00408d96
mov eax, 0x337bd74f
cmp ebx, 0xcb
jae 0x42154c
mov eax, 0x8456efa9
jmp 0x42154c
cmp eax, 0xb76d1134
jg 0x420edd
cmp eax, 0x9187a370
jg 0x420f74
cmp eax, 0x892dc24a
jle 0x421060
cmp eax, 0x892dc24b
je 0x421219
cmp eax, 0x8a09f1a1
je 0x421250
cmp eax, 0x8a50d471
jne 0x420d6d
mov ebx, dword [esp + 4]
mov eax, 0xf0c
add ebx, eax
mov eax, ebx
shr eax, 0xf
mov dword [esp + 4], eax
push eax
call fcn.0041b58c
add esp, 4
mov eax, 0x1300cda0
cmp ebx, 0x598000
jb 0x42154c
mov eax, 0x41d92439
jmp 0x42154c
cmp eax, 0x6325024c
jg 0x420fb4
cmp eax, 0x48c37500
jle 0x421094
cmp eax, 0x48c37501
je 0x420f28
cmp eax, 0x50f6e66b
je 0x421268
cmp eax, 0x573d535a
jne 0x420d6d
mov eax, dword [esp + 8]
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*4]
add eax, 0x197
mov ecx, eax
imul ecx, eax
shl eax, 0xc
imul edx, ecx, 0x6ea7
or eax, 0xa6
dec edx
mov dword [esp + 8], eax
mov eax, 0xd7f59a15
cmp ecx, edx
je 0x42154c
mov eax, 0xac5fe779
jmp 0x42154c
cmp eax, 0xd7f59a14
jg 0x420fec
cmp eax, 0xbb90c67b
jle 0x4210d6
cmp eax, 0xbb90c67c
je 0x4212a8
cmp eax, 0xc1f8ed49
je 0x4212b4
cmp eax, 0xcc903aaa
jne 0x420d6d
imul eax, dword [esp + 4], 0xc29fd0
shr eax, 2
add eax, 0xffffff68
mov dword [esp + 4], eax
mov dword [esp], 0x1300cda0
jmp 0x420d6d
cmp eax, 0x1300cd9f
jle 0x42112e
cmp eax, 0x1300cda0
je 0x4212ce
cmp eax, 0x24c4ac5f
je 0x4212e2
cmp eax, 0x27da3245
jne 0x420d6d
mov dword [esp + 0x24], 0
mov dword [esp], 0x8a09f1a1
jmp 0x420d6d
cmp eax, 0x99afacd3
jle 0x421150
cmp eax, 0x99afacd4
je 0x4212ee
cmp eax, 0xa32a6cc8
je 0x42130b
cmp eax, 0xac5fe779
jne 0x420d6d
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov dword [esp], 0x337bd74f
jmp 0x420d6d
cmp eax, 0x66d8f921
jle 0x42117e
cmp eax, 0x66d8f922
je 0x421317
cmp eax, 0x6974e1de
je 0x42134a
cmp eax, 0x73342376
jne 0x420d6d
mov dword [esp], 0xe5acd740
jmp 0x420d6d
cmp eax, 0xe0f47d0a
jle 0x4211b5
cmp eax, 0xe0f47d0b
je 0x42136f
cmp eax, 0xe5acd740
je 0x421385
cmp eax, 0xeb8fa61f
jne 0x420d6d
mov dword [esp], 0xd9f4c74f
jmp 0x420d6d
cmp eax, 0x2b4829da
je 0x4213c4
cmp eax, 0x337bd74f
jne 0x421578
cmp dword [esp + 0x20], 0
mov eax, 0xfc661b1c
jg 0x42104b
mov eax, 0x87e8b295
cmp byte [esp + 0xf], 0
jne 0x42154c
mov eax, 0x87e8b295
jmp 0x42154c
cmp eax, 0x8456efa9
je 0x421412
cmp eax, 0x87e8b295
jne 0x420d6d
imul eax, dword [esp + 8], 0x70
shr eax, 6
imul eax, eax, 0x66
shr eax, 0xf
mov dword [esp + 8], eax
mov dword [esp], 0xa32a6cc8
jmp 0x420d6d
cmp eax, 0x43c33c99
je 0x421479
cmp eax, 0x4836b842
jne 0x420d6d
mov eax, dword [esp + 4]
shl eax, 0x17
or eax, 0x8b03c
imul ecx, eax, 0xb9
mov dword [esp + 4], ecx
mov eax, 0x968581c2
cmp ecx, 0xe2
jge 0x421408
jmp 0x42154c
cmp eax, 0xb76d1135
je 0x4214b2
cmp eax, 0xbab04675
jne 0x420d6d
mov eax, dword [esp + 8]
mov ecx, 0xfffffe97
add eax, ecx
shr eax, 0xe
imul ecx, eax, 0x4d00
imul eax, eax
imul edx, eax, 0x7b67
shr ecx, 3
dec edx
imul ecx, ecx, 0xe6
mov dword [esp + 8], ecx
mov ecx, 0x6974e1de
cmp edx, eax
je 0x4214aa
mov ecx, 0xe0f47d0b
jmp 0x4214aa
cmp eax, 0xfc661b1c
je 0x4214d7
cmp eax, 0x9d05032
jne 0x420d6d
mov dword [esp], 0x27da3245
jmp 0x420d6d
cmp eax, 0x9187a371
je 0x4214f3
cmp eax, 0x968581c2
jne 0x420d6d
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
setne byte [esp + 0xe]
mov dword [esp], 0x892dc24b
jmp 0x420d6d
cmp eax, 0x6325024d
je 0x4214ff
cmp eax, 0x6508c43c
jne 0x420d6d
mov ecx, dword [esp + 4]
add ecx, 0x40
shr ecx, 4
mov dword [esp + 4], ecx
mov eax, 0x4836b842
cmp ecx, 0x11
jne 0x42146f
jmp 0x42154c
cmp eax, 0xd7f59a15
je 0x421554
cmp eax, 0xd9f4c74f
jne 0x420d6d
push dword [esp + 0x10]
call fcn.0045809c
add esp, 4
mov dword [esp], 0x38e745d6
jmp 0x420d6d
mov dword [esp], 0x48c37501
jmp 0x420d6d
imul ecx, dword [esp + 4], 0xd2a74000
add ecx, 0x8388c000
mov dword [esp + 4], ecx
mov eax, 0x1300cda0
cmp ecx, 0x51
jge 0x42154c
mov eax, 0xcc903aaa
jmp 0x42154c
mov eax, dword [esp + 8]
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*8]
add eax, 0xfe
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x570f
dec edx
and eax, 0xfffffffc
shl eax, 0xc
mov dword [esp + 8], eax
mov eax, 0x2b4829da
cmp ecx, edx
jne 0x42146f
jmp 0x42154c
imul eax, dword [esp + 8], 0x4f80
mov dword [esp + 8], eax
mov dword [esp], 0x9187a371
jmp 0x420d6d
imul eax, dword [esp + 4], 0xed
shr eax, 1
imul eax, eax, 0x32000
mov ebx, 0x1300cda0
add eax, 0xfe3e0000
mov dword [esp + 4], eax
je 0x42128d
mov ebx, 0x968581c2
push 0x3f7f
push 0x550a
push eax
call fcn.0041b598
add esp, 0xc
mov dword [esp], ebx
jmp 0x420d6d
mov dword [esp], 0x3e11c0be
jmp 0x420d6d
cmp dword [esp + 0x10], 0
mov eax, 0x66d8f922
je 0x42154c
mov eax, 0x43c33c99
jmp 0x42154c
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
mov dword [esp], 0x99afacd4
jmp 0x420d6d
mov dword [esp], 0x968581c2
jmp 0x420d6d
imul eax, dword [esp + 8], 0x57000
add eax, 0xffff91e4
mov dword [esp + 8], eax
mov dword [esp], 0x73342376
jmp 0x420d6d
mov dword [esp], 0xc1f8ed49
jmp 0x420d6d
mov eax, dword [esp + 8]
add eax, esi
shr eax, 0xc
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x436d
dec edx
add eax, 0x1d
mov dword [esp + 8], eax
mov eax, 0x968581c2
cmp edx, ecx
je 0x42154c
mov eax, 0x38e745d6
jmp 0x42154c
mov eax, dword [esp + 4]
shr eax, 8
and eax, 0xffffff80
imul eax, eax, 0x168
add eax, 0xffffff64
mov dword [esp + 4], eax
mov dword [esp], 0xf11269bb
jmp 0x420d6d
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp], 0xeb8fa61f
jmp 0x420d6d
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x44]
call fcn.0041f5f2
add esp, 0xc
push edi
push 0x80
push 2
push edi
push edi
push 0x40000000
push dword [esp + 0x58]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x14], eax
mov dword [esp], 0x24c4ac5f
jmp 0x420d6d
mov eax, dword [esp + 4]
add eax, ebp
shr eax, 0xe
imul ebx, eax, 0xe8
add ebx, 0xfffffeee
shr ebx, 3
mov dword [esp + 4], ebx
push ebx
call fcn.0041a34d
add esp, 4
push ebx
push 0x33b4
call fcn.00418edb
add esp, 8
mov eax, 0x1300cda0
cmp ebx, 0xf2
je 0x42154c
mov eax, 0xe5acd740
jmp 0x42154c
mov eax, dword [esp + 4]
shr eax, 0xd
imul ebx, eax, 0x1956
add ebx, 0xffe18488
mov dword [esp + 4], ebx
push ebx
push 0x6128
push 0x1bbf
push 0x4ee4
call fcn.0041b178
add esp, 0x10
push 0x595d
push 0x5c97
push ebx
push 0xe01
push 0x305d
call fcn.004182ec
add esp, 0x14
mov eax, 0xb7228b91
cmp ebx, 0xac
je 0x42154c
mov eax, 0xd7f59a15
jmp 0x42154c
mov eax, dword [esp + 8]
add eax, 2
shr eax, 0xf
mov ecx, eax
shl ecx, 0x15
imul eax, eax
or ecx, 0x78000
imul edx, eax, 0x224d
dec edx
mov dword [esp + 8], ecx
mov ecx, 0x337bd74f
cmp eax, edx
je 0x4214aa
mov ecx, 0xd9f4c74f
mov dword [esp], ecx
jmp 0x420d6d
push 0
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x28]
push dword [esp + 0x1c]
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [esp], 0xbab04675
jmp 0x420d6d
mov eax, dword [esp + 8]
shl eax, 0xe
add eax, 0x2e0000
mov dword [esp + 8], eax
mov dword [esp], 0x9d05032
jmp 0x420d6d
mov dword [esp], 0xb76d1135
jmp 0x420d6d
mov eax, dword [esp + 4]
shl eax, 7
and eax, 0x7ffff80
lea eax, [eax + eax*8]
lea eax, [eax + eax*2]
shr eax, 1
imul ebx, eax, 0x9a
mov dword [esp + 4], ebx
push ebx
push 0x1a15
call fcn.00423b61
add esp, 8
push ebx
push 0xfe
push 0x1f97
call fcn.0041a313
add esp, 0xc
mov eax, 0x1300cda0
test ebx, ebx
je 0x42154c
mov eax, 0x27da3245
mov dword [esp], eax
jmp 0x420d6d
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
setne al
and al, byte [esp + 0xe]
mov byte [esp + 0xf], al
mov dword [esp], 0x573d535a
jmp 0x420d6d
cmp eax, 0x38e745d6
jne 0x420d6d
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret