Function at 0x425da0
Capabilities:
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x520]
sub esp, 0x520
push 0xfffffffffffffffe
push 0x45d680
push 0x43bd00
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x4630e0]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0x51c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov edi, dword [ebp + 0x528]
mov ecx, dword [ebp + 0x52c]
mov dword [ebp - 0xc8], ecx
mov esi, dword [ebp + 0x530]
mov eax, dword [ebp + 0x534]
mov dword [ebp - 0x24], eax
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0xb4], ebx
fld1
fst qword [ebp - 0xa0]
fstp qword [ebp - 0x10c]
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0xc0], ebx
cmp edi, ebx
je 0x426c88
cmp ecx, ebx
je 0x426c88
cmp esi, ebx
je 0x426c88
cmp eax, ebx
je 0x426c88
cmp dword [esi + 0x440], ebx
jle 0x426c88
cmp dword [esi + 0x444], ebx
jle 0x426c88
mov ecx, dword [esi + 0x430]
sub ecx, dword [esi + 0x428]
test ecx, ecx
jle 0x426c88
mov edx, dword [esi + 0x434]
sub edx, dword [esi + 0x42c]
test edx, edx
jle 0x426c88
lea edx, [ebp + 0x410]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x425ee6
wait
mov dword [ebp - 4], ebx
push 0x454038
push edi
call fcn.0043d390
add esp, 8
cmp eax, ebx
je 0x425f17
add eax, 3
push eax
call fcn.0043c56a
add esp, 4
mov dword [ebp - 0x40], eax
push 0x454034
push edi
call fcn.0043d390
add esp, 8
cmp eax, ebx
je 0x425f38
add eax, 3
push eax
call fcn.0043c56a
add esp, 4
mov dword [ebp - 0x48], eax
push 0x45402c
push edi
call fcn.0043d390
add esp, 8
cmp eax, ebx
je 0x425f59
add eax, 7
push eax
call fcn.0043c56a
add esp, 4
mov dword [ebp - 0x78], eax
push 0x454024
push edi
call fcn.0043d390
add esp, 8
cmp eax, ebx
je 0x425f7a
add eax, 8
push eax
call fcn.0043c56a
add esp, 4
mov dword [ebp - 0x70], eax
push str.href_
push edi
call fcn.0043d390
add esp, 8
mov edi, eax
cmp edi, ebx
je 0x426026
add edi, 6
push 0x454018
push edi
call fcn.0043d390
add esp, 8
cmp eax, edi
jbe 0x426026
sub eax, edi
mov dword [ebp - 0x20], eax
cmp eax, 0x104
jge 0x426026
push eax
push edi
lea eax, [ebp + 0x410]
push eax
call fcn.0043d6b0
mov ecx, dword [ebp - 0x20]
mov byte [ebp + ecx + 0x410], 0
lea edx, [ebp + 0x30c]
push edx
lea eax, [ebp + 0x208]
push eax
push ebx
push ebx
lea ecx, [ebp + 0x410]
push ecx
call fcn.0043d0dc
push ebx
push ebx
lea edx, [ebp + 0x104]
push edx
lea eax, [ebp]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.0043d0dc
lea edx, [ebp + 0x30c]
push edx
lea eax, [ebp + 0x208]
push eax
lea ecx, [ebp + 0x104]
push ecx
lea edx, [ebp]
push edx
lea eax, [ebp + 0x410]
push eax
call fcn.0043d68e
add esp, 0x48
mov eax, dword [ebp - 0x78]
cmp eax, ebx
jle 0x426ba1
mov edi, dword [ebp - 0x70]
cmp edi, ebx
jle 0x426ba1
mov ecx, dword [esi + 0x438]
mov edx, dword [ebp - 0x40]
add eax, edx
cmp eax, ecx
jl 0x426b94
mov eax, dword [esi + 0x43c]
mov edx, dword [ebp - 0x48]
add edi, edx
cmp edi, eax
jl 0x426b94
mov edi, dword [esi + 0x440]
add edi, ecx
cmp dword [ebp - 0x40], edi
jg 0x426b94
mov ecx, dword [esi + 0x444]
add ecx, eax
cmp edx, ecx
jg 0x426b94
push 0x454000
lea edx, [ebp + 0x410]
push edx
call fcn.0043bc13
add esp, 8
mov edi, eax
mov dword [ebp - 0xcc], edi
cmp edi, ebx
jne 0x4260b7
mov dword [ebp - 0x34], 3
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426bcc
push edi
push 8
push 1
lea eax, [ebp + 0x514]
push eax
call fcn.0043d673
push 8
push ebx
lea ecx, [ebp + 0x514]
push ecx
call fcn.00435720
add esp, 0x1c
test eax, eax
sete al
test al, al
jne 0x4260f7
mov dword [ebp - 0x34], 4
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426bcc
push ebx
push ebx
push ebx
push 0x453ff8
call fcn.00430780
add esp, 0x10
mov dword [ebp - 0x28], eax
cmp eax, ebx
jne 0x426122
mov dword [ebp - 0x34], 5
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426bcc
push eax
call fcn.00435ec0
add esp, 4
mov dword [ebp - 0x3c], eax
cmp eax, ebx
jne 0x426146
mov dword [ebp - 0x34], 6
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426bcc
push edi
mov edx, dword [ebp - 0x28]
push edx
call fcn.00435da0
push 8
mov eax, dword [ebp - 0x28]
push eax
call fcn.004356f0
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.0042e0f0
push ebx
push ebx
push ebx
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x64]
push ecx
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.004350b0
add esp, 0x3c
cmp dword [ebp - 0x64], 8
jge 0x42619d
mov eax, dword [ebp - 0x28]
push eax
call fcn.00430970
add esp, 4
cmp dword [ebp - 0x64], 0x10
jne 0x4261af
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.00430910
add esp, 4
mov eax, dword [ebp - 0x5c]
cmp eax, 2
je 0x4261bc
cmp eax, 6
jne 0x4261cb
mov edx, dword [ebp - 0x28]
push edx
call fcn.00435210
add esp, 4
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x64], 1
jne 0x4261e1
cmp eax, ebx
jne 0x4261e1
mov eax, dword [ebp - 0x28]
push eax
call fcn.00435240
add esp, 4
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.00435220
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.0042f0a0
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.004350b0
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.00435030
movzx eax, al
mov dword [ebp - 0xfc], eax
test byte [ebp - 0x5c], 4
setg byte [ebp - 0x29]
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.00435010
add esp, 0x40
mov edi, eax
and eax, 3
add edi, eax
mov ecx, edi
imul ecx, dword [ebp - 0x30]
add ecx, ecx
add ecx, ecx
push ecx
call fcn.0043cde4
add esp, 4
mov dword [ebp - 0x98], eax
cmp eax, ebx
jne 0x426276
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426bcc
mov edx, dword [ebp - 0x30]
lea eax, [edx*4]
push eax
call fcn.0043cde4
add esp, 4
mov dword [ebp - 0x68], eax
cmp eax, ebx
jne 0x42629d
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426bcc
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x68]
lea esp, [esp]
cmp ebx, dword [ebp - 0x30]
jae 0x4262c7
mov edx, ebx
imul edx, edi
add edx, eax
mov dword [ecx + ebx*4], edx
add ebx, 1
mov dword [ebp - 0x44], ebx
jmp 0x4262b0
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.0042f600
push 0
mov edx, dword [ebp - 0x28]
push edx
call fcn.0042f660
add esp, 0x10
mov edx, dword [esi + 0x438]
mov dword [ebp - 0xb0], edx
mov eax, dword [esi + 0x43c]
mov dword [ebp - 0xac], eax
mov ecx, dword [esi + 0x440]
mov dword [ebp - 0xa8], ecx
mov eax, dword [esi + 0x444]
mov dword [ebp - 0xa4], eax
mov eax, dword [esi + 0x428]
mov dword [ebp - 0x58], eax
mov ecx, dword [esi + 0x42c]
mov dword [ebp - 0x54], ecx
mov edi, dword [esi + 0x430]
sub edi, eax
mov dword [ebp - 0x50], edi
mov ebx, dword [esi + 0x434]
sub ebx, ecx
mov dword [ebp - 0x4c], ebx
mov ecx, dword [ebp - 0x38]
fild dword [ebp - 0x38]
test ecx, ecx
jge 0x42634a
fadd qword [0x454010]
fidiv dword [ebp - 0x78]
mov eax, dword [ebp - 0x30]
fild dword [ebp - 0x30]
test eax, eax
jge 0x42635d
fadd qword [0x454010]
fidiv dword [ebp - 0x70]
sub edx, dword [ebp - 0x40]
mov dword [ebp - 0x20], edx
fild dword [ebp - 0x20]
fmul st(2)
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x42637c
fstp st(1)
fld st(0)
jmp 0x42637e
fxch st(1)
call fcn.0043b6c0
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0xac]
sub ecx, dword [ebp - 0x48]
mov dword [ebp - 0x20], ecx
fild dword [ebp - 0x20]
fmul st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4263a7
fstp st(0)
fld st(0)
call fcn.0043b6c0
mov dword [ebp - 0x88], eax
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x8c]
mov dword [ebp - 0x1c], edx
fild dword [ebp - 0x1c]
test edx, edx
jge 0x4263cb
fadd qword [0x454010]
mov eax, dword [ebp - 0xa8]
sub eax, dword [ebp - 0x40]
add eax, dword [ebp - 0xb0]
mov dword [ebp - 0x20], eax
fild dword [ebp - 0x20]
fmulp st(4)
fild dword [ebp - 0x8c]
fsubp st(4)
fcom st(3)
fnstsw ax
test ah, 5
jp 0x4263f7
fstp st(3)
jmp 0x4263f9
fstp st(0)
fxch st(2)
call fcn.0043b6c0
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
test eax, eax
jge 0x42641f
fadd qword [0x454010]
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp - 0x48]
add eax, dword [ebp - 0xac]
mov dword [ebp - 0x20], eax
fild dword [ebp - 0x20]
fmulp st(2)
fild dword [ebp - 0x88]
fsubp st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x42644b
fstp st(1)
jmp 0x42644d
fstp st(0)
call fcn.0043b6c0
mov dword [ebp - 0x80], eax
fild dword [esi + 0x448]
fmul qword [0x4535f0]
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x20], ecx
fild dword [ebp - 0x20]
fmul st(1)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x42647f
fstp st(0)
fld st(1)
call fcn.0043b6c0
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp - 0xac]
mov dword [ebp - 0x20], edx
fild dword [ebp - 0x20]
fmul st(1)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x4264a5
fstp st(0)
jmp 0x4264a7
fstp st(2)
fxch st(1)
call fcn.0043b6c0
mov esi, eax
mov dword [ebp - 0x54], esi
sub edi, dword [ebp - 0x58]
mov dword [ebp - 0x20], edi
fild dword [ebp - 0x20]
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
fild dword [ebp - 0x20]
fmul st(2)
fisub dword [ebp - 0x58]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4264e0
fstp st(0)
jmp 0x4264e2
fstp st(1)
call fcn.0043b6c0
mov dword [ebp - 0x50], eax
sub ebx, esi
mov dword [ebp - 0x20], ebx
fild dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0xac]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
fild dword [ebp - 0x20]
fmulp st(2)
fild dword [ebp - 0x54]
fsubp st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x426518
fstp st(1)
jmp 0x42651a
fstp st(0)
call fcn.0043b6c0
mov dword [ebp - 0x4c], eax
cmp byte [ebp - 0x29], 0
je 0x42668c
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xf4], 0x28
mov ebx, dword [ebp - 0x50]
mov dword [ebp - 0xf0], ebx
mov ecx, dword [ebp - 0x4c]
neg ecx
mov dword [ebp - 0xec], ecx
mov word [ebp - 0xe8], 1
mov word [ebp - 0xe6], 0x18
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
push 0x2c
push eax
lea edx, [ebp - 0x138]
push edx
call fcn.0043ae80
add esp, 0xc
mov ecx, 0xa
lea esi, [ebp - 0xf4]
lea edi, [ebp - 0x138]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc8]
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
mov dword [ebp - 0xbc], esi
push 0
push 0
lea eax, [ebp - 0x60]
push eax
push 0
lea ecx, [ebp - 0x138]
push ecx
push edi
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [ebp - 0xc4], eax
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xcc0020
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x58]
push eax
push edi
mov ecx, dword [ebp - 0x4c]
push ecx
push ebx
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
lea edx, [ebx + ebx*2]
lea eax, [edx*8 + 0x1f]
shr eax, 5
movzx eax, ax
add eax, eax
add eax, eax
mov dword [ebp - 0xb4], eax
fild dword [ebp - 0x50]
mov ecx, dword [ebp - 0x38]
fild dword [ebp - 0x38]
test ecx, ecx
jge 0x426669
fadd qword [0x454010]
fdivp st(1)
fstp qword [ebp - 0xa0]
fild dword [ebp - 0x4c]
mov edx, dword [ebp - 0x30]
fild dword [ebp - 0x30]
test edx, edx
jge 0x426684
fadd qword [0x454010]
fdivp st(1)
fstp qword [ebp - 0x10c]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
lea ecx, [eax*8 + 0x1f]
shr ecx, 5
movzx eax, cx
add eax, eax
add eax, eax
mov dword [ebp - 0xf8], eax
imul eax, dword [ebp - 0x30]
lea esi, [eax + 0x28]
push esi
call fcn.0043cde4
add esp, 4
mov ebx, eax
mov dword [ebp - 0xb8], ebx
test ebx, ebx
jne 0x4266d1
mov dword [ebp - 0x34], 7
jmp 0x426bc2
push esi
xor esi, esi
push esi
push ebx
call fcn.0043ae80
add esp, 0xc
mov dword [ebx], 0x28
mov edx, dword [ebp - 0x38]
mov dword [ebx + 4], edx
mov eax, dword [ebp - 0x30]
neg eax
mov dword [ebx + 8], eax
mov word [ebx + 0xc], 1
mov word [ebx + 0xe], 0x18
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], esi
mov eax, 0x96
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], esi
lea ecx, [ebx + 0x28]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x44], esi
fld qword [0x454008]
fld qword [ebp - 0x10c]
fld qword [ebp - 0xa0]
fld1
mov edi, dword [ebp - 0x94]
mov eax, esi
cmp eax, dword [ebp - 0x30]
jae 0x426a53
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x7c], edx
mov edx, eax
imul edx, dword [ebp - 0xf8]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x104], edx
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x7c], 0
jbe 0x426a48
mov al, byte [ebp - 0x29]
test al, al
je 0x42681b
cmp dword [ebp - 0x60], 0
je 0x42681b
mov eax, dword [ebp - 0x44]
fild dword [ebp - 0x44]
test eax, eax
jge 0x426793
fadd qword [0x454010]
fmul st(3)
fnstcw word [ebp - 0x22]
movzx eax, word [ebp - 0x22]
or eax, 0xc00
mov dword [ebp - 0x1c], eax
fldcw word [ebp - 0x1c]
fistp qword [ebp - 0xa0]
fldcw word [ebp - 0x22]
mov esi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x4c]
cmp eax, esi
jae 0x4267bf
mov esi, eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x7c]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
test eax, eax
jge 0x4267d5
fadd qword [0x454010]
fmul st(2)
fnstcw word [ebp - 0x22]
movzx eax, word [ebp - 0x22]
or eax, 0xc00
mov dword [ebp - 0x1c], eax
fldcw word [ebp - 0x1c]
fistp qword [ebp - 0xa0]
fldcw word [ebp - 0x22]
mov eax, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x50]
cmp edi, eax
jae 0x426801
mov eax, edi
imul esi, dword [ebp - 0xb4]
lea eax, [eax + eax*2]
add esi, dword [ebp - 0x60]
add eax, esi
mov dword [ebp - 0x94], eax
mov edi, eax
mov al, byte [ebp - 0x29]
mov esi, dword [ebp - 0xfc]
add esi, 0xffffffff
cmp esi, 3
ja case.default.0x42682d
jmp dword [esi*4 + 0x426cb4]
movzx eax, byte [ecx]
mov byte [edx], al
movzx eax, byte [ecx]
mov byte [edx + 1], al
movzx eax, byte [ecx]
add ecx, 1
jmp 0x426a2d
test al, al
je 0x42691d
cmp dword [ebp - 0x60], 0
je 0x42691d
test edi, edi
je 0x42691d
movzx eax, byte [ecx + 1]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fdiv st(4)
fld st(1)
fsub st(1)
movzx eax, byte [ecx]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmul st(2)
movzx eax, byte [edi]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmul st(2)
faddp st(1)
fnstcw word [ebp - 0x22]
movzx eax, word [ebp - 0x22]
or eax, 0xc00
mov dword [ebp - 0x1c], eax
fldcw word [ebp - 0x1c]
fistp dword [ebp - 0x1c]
fldcw word [ebp - 0x22]
movzx eax, byte [ebp - 0x1c]
mov byte [edx], al
movzx eax, byte [ecx]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmul st(2)
movzx eax, byte [edi]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmul st(2)
faddp st(1)
fnstcw word [ebp - 0x22]
movzx eax, word [ebp - 0x22]
or eax, 0xc00
mov dword [ebp - 0x1c], eax
fldcw word [ebp - 0x1c]
fistp dword [ebp - 0x1c]
fldcw word [ebp - 0x22]
movzx eax, byte [ebp - 0x1c]
mov byte [edx + 1], al
movzx eax, byte [ecx]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmulp st(2)
movzx eax, byte [edi]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmulp st(1)
faddp st(1)
fnstcw word [ebp - 0x22]
movzx eax, word [ebp - 0x22]
or eax, 0xc00
mov dword [ebp - 0x1c], eax
fldcw word [ebp - 0x1c]
fistp dword [ebp - 0x1c]
fldcw word [ebp - 0x22]
movzx eax, byte [ebp - 0x1c]
add ecx, 2
jmp 0x426a2d
movzx eax, byte [ecx]
mov byte [edx], al
movzx eax, byte [ecx]
mov byte [edx + 1], al
movzx eax, byte [ecx]
add ecx, 2
jmp 0x426a2d
movzx eax, byte [ecx]
mov byte [edx], al
movzx eax, byte [ecx + 1]
mov byte [edx + 1], al
movzx eax, byte [ecx + 2]
add ecx, 3
jmp 0x426a2d
test al, al
je 0x426a1a
cmp dword [ebp - 0x60], 0
je 0x426a1a
test edi, edi
je 0x426a1a
movzx eax, byte [ecx + 3]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fdiv st(4)
fld st(1)
fsub st(1)
movzx eax, byte [edi]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmul st(2)
movzx eax, byte [ecx]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmul st(2)
faddp st(1)
fnstcw word [ebp - 0x22]
movzx eax, word [ebp - 0x22]
or eax, 0xc00
mov dword [ebp - 0x1c], eax
fldcw word [ebp - 0x1c]
fistp dword [ebp - 0x1c]
fldcw word [ebp - 0x22]
movzx eax, byte [ebp - 0x1c]
mov byte [edx], al
movzx eax, byte [ecx + 1]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmul st(1)
movzx eax, byte [edi]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmul st(3)
faddp st(1)
fnstcw word [ebp - 0x22]
movzx eax, word [ebp - 0x22]
or eax, 0xc00
mov dword [ebp - 0x1c], eax
fldcw word [ebp - 0x1c]
fistp dword [ebp - 0x1c]
fldcw word [ebp - 0x22]
movzx eax, byte [ebp - 0x1c]
mov byte [edx + 1], al
movzx eax, byte [ecx + 2]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmulp st(1)
movzx eax, byte [edi]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmulp st(2)
faddp st(1)
fnstcw word [ebp - 0x22]
movzx eax, word [ebp - 0x22]
or eax, 0xc00
mov dword [ebp - 0x1c], eax
fldcw word [ebp - 0x1c]
fistp dword [ebp - 0x1c]
fldcw word [ebp - 0x22]
movzx eax, byte [ebp - 0x1c]
jmp 0x426a2a
movzx eax, byte [ecx]
mov byte [edx], al
movzx eax, byte [ecx + 1]
mov byte [edx + 1], al
movzx eax, byte [ecx + 2]
add ecx, 4
mov byte [edx + 2], al
mov dword [ebp - 0x6c], ecx
add edx, 3
mov dword [ebp - 0x104], edx
sub dword [ebp - 0x7c], 1
mov eax, dword [ebp - 0x44]
jmp 0x426764
add eax, 1
mov dword [ebp - 0x44], eax
jmp 0x42673a
fstp st(3)
fstp st(2)
fstp st(1)
fstp st(0)
push 0
push ebx
mov ecx, dword [ebp - 0x20]
push ecx
push 4
push ebx
mov esi, dword [ebp - 0xc8]
push esi
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
mov edi, eax
mov dword [ebp - 0x74], edi
test edi, edi
jne 0x426b25
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push edi
lea edx, [ebp - 0x100]
push edx
push edi
push ebx
push esi
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov edi, eax
mov dword [ebp - 0x74], edi
test edi, edi
je 0x426ad7
push 0
push ebx
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebx + 8]
push ecx
push 0
push edi
push esi
call dword [sym.imp.GDI32.dll_SetDIBits]
mov ecx, eax
mov eax, dword [ebx + 8]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jge 0x426b21
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [ebp - 0x74], 0
push 0xcc0020
push 0
push ebx
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x80]
push edx
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x58]
push eax
push esi
call fcn.00407670
add esp, 0x34
mov dword [ebp - 0x34], 0
jmp 0x426bc2
test edi, edi
je 0x426ad7
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebx, eax
mov dword [ebp - 0x90], ebx
push edi
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xc0], eax
push 3
push esi
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
push 0xcc0020
mov edx, dword [ebp - 0x80]
push edx
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
push ebx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x58]
push eax
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
test eax, eax
jne 0x426b15
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], 0
jmp 0x426bc2
mov dword [ebp - 0x34], ebx
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426bcc
mov dword [ebp - 0x34], 2
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426bcc
wait
mov dword [ebp - 4], 0xfffffffe
xor ebx, ebx
mov eax, dword [ebp - 0xc0]
mov esi, dword [ebp - 0x90]
cmp eax, ebx
je 0x426be4
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, ebx
je 0x426bef
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0x74]
cmp eax, ebx
je 0x426bfd
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0xb8]
cmp eax, ebx
je 0x426c10
push eax
call fcn.0043cd07
add esp, 4
mov eax, dword [ebp - 0xbc]
cmp eax, ebx
je 0x426c21
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0xc4]
cmp eax, ebx
je 0x426c32
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x98]
cmp eax, ebx
je 0x426c45
push eax
call fcn.0043cd07
add esp, 4
mov eax, dword [ebp - 0x68]
cmp eax, ebx
je 0x426c55
push eax
call fcn.0043cd07
add esp, 4
cmp dword [ebp - 0x28], ebx
je 0x426c70
cmp dword [ebp - 0x3c], ebx
je 0x426c70
push ebx
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x28]
push edx
call fcn.004307b0
add esp, 0xc
mov eax, dword [ebp - 0xcc]
cmp eax, ebx
je 0x426c83
push eax
call fcn.0043b92c
add esp, 4
mov eax, dword [ebp - 0x34]
jmp 0x426c8d
mov eax, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x51c]
xor ecx, ebp
call fcn.0043b76b
add ebp, 0x520
mov esp, ebp
pop ebp
ret