Function at 0x426580
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x7bc
mov eax, dword [esp + 0x7c8]
mov ecx, 0x24b3f40f
mov dword [esp + 0x7b8], eax
mov eax, dword [0x499a48]
sar eax, 7
or eax, 0xeff90794
cmp ecx, eax
jle 0x4265b9
mov word [0x49dbc4], 0xbd76
mov eax, dword [esp + 0x7b8]
mov ecx, eax
call fcn.0042a190
cmp eax, 0x8066
jbe 0x426c76
mov eax, 0xe0826ef5
mov cx, word [0x49dc8c]
movsx edx, cx
mov esi, dword [0x4975b8]
and esi, edx
mov dword [0x4975b8], esi
mov cx, word [0x49c812]
mov dx, cx
or edx, 0x30ce
mov cx, dx
mov word [0x49c812], cx
mov cx, word [0x49e232]
mov dx, cx
or edx, 0x3db
mov cx, word [0x49b7b4]
mov si, cx
xor esi, edx
mov cx, si
mov word [0x49b7b4], cx
mov edx, dword [0x494cac]
shl edx, 3
or edx, 0xac3e048
or edx, 0x2e2fe963
cmp eax, edx
jg 0x42665c
mov eax, dword [0x4981dc]
imul eax, eax, 0x236068bb
mov dword [0x4981dc], eax
mov eax, 0xf6007e94
mov ecx, esp
lea edx, [esp + 0x62a]
mov dword [ecx], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.0040be30
mov dword [esp + 0x624], eax
mov eax, dword [0x499bac]
mov si, word [0x49d58e]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x49d58e], si
call fcn.0043ef80
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x624]
lea edx, [esp + edx + 0x62a]
mov edi, esp
mov dword [edi + 4], ecx
mov dword [edi], edx
call fcn.0043d910
mov ecx, dword [0x49811c]
or ecx, 0xd5590844
mov dword [0x49811c], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x14c2
call fcn.00418300
mov dword [esp + 0x7b4], eax
mov eax, dword [0x49ab4c]
imul eax, eax, 0x418169a9
mov dword [0x49ab4c], eax
mov eax, dword [esp + 0x7b4]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx], eax
call fcn.00454f10
mov ecx, dword [0x495130]
and ecx, 0x2b8b6464
mov dword [0x495130], ecx
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0xf2b
mov dword [esp + 0x44], eax
call fcn.00418300
mov dword [esp + 0x7b0], eax
mov si, word [0x49be48]
mov ax, si
add eax, 0x77b4ac2d
mov si, ax
mov word [0x49be48], si
mov eax, dword [esp + 0x7b4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.00437a50
mov eax, dword [0x499fc8]
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jle 0x4267c2
mov eax, dword [0x49a954]
dec eax
mov dword [0x49a954], eax
mov cx, word [0x49bdc2]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49bdc2], cx
movsx edx, cx
xor eax, edx
xor eax, 0x6140c3e6
mov edx, dword [0x49607c]
imul edx, eax
mov dword [0x49607c], edx
mov eax, dword [esp + 0x7b0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x62a]
mov dword [ecx], eax
call fcn.00455408
mov dword [esp + 0x7a8], eax
mov eax, dword [0x497b2c]
mov ecx, eax
dec ecx
mov dword [0x497b2c], ecx
or eax, 0x6aabe309
mov dword [0x494eb4], eax
mov eax, dword [esp + 0x7b0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00437a50
mov eax, dword [0x497b70]
and eax, 0x310002
mov dword [0x497b70], eax
cmp dword [esp + 0x7a8], 0
je 0x426c27
mov eax, 0x8f5c0a88
mov ecx, dword [0x4970ac]
xor ecx, 0xcab542af
mov dword [0x4970ac], ecx
mov dx, word [0x49e124]
movsx ecx, dx
sar ecx, 7
imul ecx, ecx, 0x97ce3691
cmp eax, ecx
jl 0x426881
mov eax, dword [0x497e84]
mov ecx, dword [0x49759c]
lea eax, [eax + ecx - 0x63ada492]
mov ecx, dword [0x4992f0]
and ecx, eax
mov dword [0x4992f0], ecx
mov eax, dword [esp + 0x7a8]
mov ecx, dword [esp + 0x7b8]
mov dword [esp + 0x40], eax
call fcn.0042a190
mov ecx, dword [esp + 0x7b8]
mov dword [esp + 0x3c], eax
call fcn.00403ca0
mov ecx, esp
mov edx, dword [esp + 0x40]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.004555bb
mov si, word [0x49cac4]
mov cx, si
inc ecx
mov si, cx
mov word [0x49cac4], si
movsx ecx, si
or ecx, 0xf1a488f4
mov edx, dword [0x495f98]
mov edi, dword [0x49abcc]
inc edi
mov dword [0x49abcc], edi
xor edx, edi
cmp ecx, edx
mov dword [esp + 0x38], eax
je 0x42695a
mov eax, 0x23f55cde
mov ecx, dword [0x497830]
mov edx, dword [0x495370]
mov esi, edx
inc esi
mov dword [0x495370], esi
sub ecx, edx
and ecx, 0x7fe9146b
cmp eax, ecx
jl 0x426955
mov eax, 0x5e91e667
mov ecx, dword [0x4970e0]
mov edx, ecx
dec edx
mov dword [0x4970e0], edx
cmp eax, ecx
jge 0x426950
jmp 0x426950
jmp 0x426955
jmp 0x42695a
mov eax, 0xfaf6ff5b
mov ecx, dword [esp + 0x7a8]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x34], eax
call fcn.004556a9
mov ecx, dword [0x497b5c]
and ecx, 0xc8fd7f57
mov dword [0x497b5c], ecx
mov ecx, dword [esp + 0x7b8]
mov dword [esp + 0x30], eax
call fcn.00403c80
mov eax, dword [0x49a738]
sar eax, 0xa
mov ecx, dword [0x497680]
dec ecx
mov dword [0x497680], ecx
and eax, ecx
mov ecx, dword [esp + 0x34]
cmp ecx, eax
jl 0x4269e1
mov eax, dword [0x49a53c]
shr eax, 9
imul eax, eax, 0xe8f8b703
mov cx, word [0x49c20e]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x49c20e], cx
jmp 0x4269eb
mov dword [0x49af2c], 0xf05a5b29
mov eax, 0xf5f7feeb
mov byte [esp + 0x1bc], 0
mov ecx, dword [0x498ec0]
xor ecx, 0xffffffff
cmp eax, ecx
jne 0x426a18
mov eax, dword [0x496728]
xor eax, 0x36b4ca72
mov dword [0x496728], eax
mov eax, dword [0x494988]
mov ecx, esp
lea edx, [esp + 0x52]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x16a
mov dword [ecx], 0
call eax
sub esp, 0xc
mov ecx, dword [0x49aa64]
or ecx, 0x7ad42be0
mov dword [0x49aa64], ecx
mov byte [esp + 0x623], 0
mov ecx, dword [0x499804]
not ecx
mov edx, dword [0x4996dc]
or edx, 0x2bcc7a7f
cmp ecx, edx
mov dword [esp + 0x2c], eax
jle 0x426a8d
mov eax, dword [0x4993a0]
shl eax, 4
xor eax, 0x142f8413
mov ecx, dword [0x498764]
or ecx, eax
mov dword [0x498764], ecx
mov eax, esp
mov dword [eax + 4], 0x15
mov dword [eax], 0x5c91
call fcn.00418300
mov dword [esp + 0x7ac], eax
mov eax, dword [0x497ec8]
and eax, 0x31aaba00
mov ecx, dword [0x4996b8]
xor ecx, eax
mov dword [0x4996b8], ecx
mov eax, dword [0x49ee0c]
mov ecx, dword [0x49edf4]
mov edx, dword [esp + 0x7ac]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x52]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea ecx, [esp + 0x1bd]
mov dword [esi], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
call fcn.0045518f
mov dword [0x49a224], 0xce53ffdb
mov ecx, dword [esp + 0x7ac]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x20], eax
call fcn.00437a50
mov eax, dword [0x4965d4]
mov di, word [0x49db7a]
movsx ecx, di
and ecx, 0x5cf8a3de
xor eax, ecx
not eax
mov ecx, dword [0x499744]
and ecx, eax
mov dword [0x499744], ecx
mov eax, dword [0x49ee0c]
mov ecx, esp
mov dword [ecx], eax
call fcn.00412910
mov ecx, dword [0x496938]
add ecx, 0xa25cfe09
mov dword [0x496938], ecx
mov ecx, esp
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
lea esi, [esp + 0x62a]
mov dword [ecx], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
call fcn.00417d80
mov eax, dword [0x498cb8]
add eax, 0x6e2bbecb
mov dword [0x498cb8], eax
mov eax, esp
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
mov dword [eax + 4], 0x467
call fcn.0041e600
mov eax, dword [0x496dcc]
or eax, 0x94ffa6e1
mov dword [0x496dcc], eax
mov eax, esp
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
mov dword [eax + 4], 0x16b
call fcn.0041e600
mov eax, dword [0x4956e4]
mov ecx, dword [0x494fe8]
add ecx, eax
mov dword [0x494fe8], ecx
mov eax, dword [0x4949e4]
mov ecx, esp
mov dword [ecx], 0x1629b
call eax
sub esp, 4
mov eax, dword [0x4965b0]
add eax, 0x7e3851c4
mov dword [0x4965b0], eax
mov eax, dword [0x494934]
mov ecx, esp
mov edx, dword [esp + 0x18]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x49716c]
add ecx, 0xbf6cd0b4
mov dword [0x49716c], ecx
mov dword [esp + 0x14], eax
mov eax, dword [0x4956a4]
mov ecx, dword [0x496c50]
sub eax, ecx
or eax, 0xd99a
mov dx, word [0x49d4c6]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x49d4c6], dx
mov eax, esp
lea ecx, [esp + 0x62a]
mov dword [eax], ecx
mov dword [eax + 4], 0x17e
call fcn.0041e600
mov eax, dword [0x4955e0]
imul eax, eax, 0xefeedecc
mov dword [0x4955e0], eax
mov dword [0x4989dc], 0x3d93cd3b
add esp, 0x7bc
pop esi
pop edi
ret