Function at 0x426000
Capabilities:
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x520]
sub esp, 0x520
push 0xfffffffffffffffe
push 0x45d670
push 0x43c030
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x4630b0]
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 0x426ee8
cmp ecx, ebx
je 0x426ee8
cmp esi, ebx
je 0x426ee8
cmp eax, ebx
je 0x426ee8
cmp dword [esi + 0x440], ebx
jle 0x426ee8
cmp dword [esi + 0x444], ebx
jle 0x426ee8
mov ecx, dword [esi + 0x430]
sub ecx, dword [esi + 0x428]
test ecx, ecx
jle 0x426ee8
mov edx, dword [esi + 0x434]
sub edx, dword [esi + 0x42c]
test edx, edx
jle 0x426ee8
lea edx, [ebp + 0x410]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x426146
wait
mov dword [ebp - 4], ebx
push 0x454038
push edi
call fcn.0043d6b0
add esp, 8
cmp eax, ebx
je 0x426177
add eax, 3
push eax
call fcn.0043b378
add esp, 4
mov dword [ebp - 0x40], eax
push 0x454034
push edi
call fcn.0043d6b0
add esp, 8
cmp eax, ebx
je 0x426198
add eax, 3
push eax
call fcn.0043b378
add esp, 4
mov dword [ebp - 0x48], eax
push 0x45402c
push edi
call fcn.0043d6b0
add esp, 8
cmp eax, ebx
je 0x4261b9
add eax, 7
push eax
call fcn.0043b378
add esp, 4
mov dword [ebp - 0x78], eax
push 0x454024
push edi
call fcn.0043d6b0
add esp, 8
cmp eax, ebx
je 0x4261da
add eax, 8
push eax
call fcn.0043b378
add esp, 4
mov dword [ebp - 0x70], eax
push str.href_
push edi
call fcn.0043d6b0
add esp, 8
mov edi, eax
cmp edi, ebx
je 0x426286
add edi, 6
push 0x454018
push edi
call fcn.0043d6b0
add esp, 8
cmp eax, edi
jbe 0x426286
sub eax, edi
mov dword [ebp - 0x20], eax
cmp eax, 0x104
jge 0x426286
push eax
push edi
lea eax, [ebp + 0x410]
push eax
call fcn.0043d9d0
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.0043d3fc
push ebx
push ebx
lea edx, [ebp + 0x104]
push edx
lea eax, [ebp]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.0043d3fc
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.0043d9ae
add esp, 0x48
mov eax, dword [ebp - 0x78]
cmp eax, ebx
jle 0x426e01
mov edi, dword [ebp - 0x70]
cmp edi, ebx
jle 0x426e01
mov ecx, dword [esi + 0x438]
mov edx, dword [ebp - 0x40]
add eax, edx
cmp eax, ecx
jl 0x426df4
mov eax, dword [esi + 0x43c]
mov edx, dword [ebp - 0x48]
add edi, edx
cmp edi, eax
jl 0x426df4
mov edi, dword [esi + 0x440]
add edi, ecx
cmp dword [ebp - 0x40], edi
jg 0x426df4
mov ecx, dword [esi + 0x444]
add ecx, eax
cmp edx, ecx
jg 0x426df4
push 0x454000
lea edx, [ebp + 0x410]
push edx
call fcn.0043bf44
add esp, 8
mov edi, eax
mov dword [ebp - 0xcc], edi
cmp edi, ebx
jne 0x426317
mov dword [ebp - 0x34], 3
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426e2c
push edi
push 8
push 1
lea eax, [ebp + 0x514]
push eax
call fcn.0043d993
push 8
push ebx
lea ecx, [ebp + 0x514]
push ecx
call fcn.00435980
add esp, 0x1c
test eax, eax
sete al
test al, al
jne 0x426357
mov dword [ebp - 0x34], 4
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426e2c
push ebx
push ebx
push ebx
push 0x453ff8
call fcn.004309e0
add esp, 0x10
mov dword [ebp - 0x28], eax
cmp eax, ebx
jne 0x426382
mov dword [ebp - 0x34], 5
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426e2c
push eax
call fcn.00436120
add esp, 4
mov dword [ebp - 0x3c], eax
cmp eax, ebx
jne 0x4263a6
mov dword [ebp - 0x34], 6
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426e2c
push edi
mov edx, dword [ebp - 0x28]
push edx
call fcn.00436000
push 8
mov eax, dword [ebp - 0x28]
push eax
call fcn.00435950
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.0042e350
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.00435310
add esp, 0x3c
cmp dword [ebp - 0x64], 8
jge 0x4263fd
mov eax, dword [ebp - 0x28]
push eax
call fcn.00430bd0
add esp, 4
cmp dword [ebp - 0x64], 0x10
jne 0x42640f
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.00430b70
add esp, 4
mov eax, dword [ebp - 0x5c]
cmp eax, 2
je 0x42641c
cmp eax, 6
jne 0x42642b
mov edx, dword [ebp - 0x28]
push edx
call fcn.00435470
add esp, 4
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x64], 1
jne 0x426441
cmp eax, ebx
jne 0x426441
mov eax, dword [ebp - 0x28]
push eax
call fcn.004354a0
add esp, 4
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.00435480
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.0042f300
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.00435310
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.00435290
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.00435270
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.0043d0fe
add esp, 4
mov dword [ebp - 0x98], eax
cmp eax, ebx
jne 0x4264d6
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426e2c
mov edx, dword [ebp - 0x30]
lea eax, [edx*4]
push eax
call fcn.0043d0fe
add esp, 4
mov dword [ebp - 0x68], eax
cmp eax, ebx
jne 0x4264fd
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426e2c
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x68]
lea esp, [esp]
cmp ebx, dword [ebp - 0x30]
jae 0x426527
mov edx, ebx
imul edx, edi
add edx, eax
mov dword [ecx + ebx*4], edx
add ebx, 1
mov dword [ebp - 0x44], ebx
jmp 0x426510
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.0042f860
push 0
mov edx, dword [ebp - 0x28]
push edx
call fcn.0042f8c0
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 0x4265aa
fadd qword [0x454010]
fidiv dword [ebp - 0x78]
mov eax, dword [ebp - 0x30]
fild dword [ebp - 0x30]
test eax, eax
jge 0x4265bd
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 0x4265dc
fstp st(1)
fld st(0)
jmp 0x4265de
fxch st(1)
call fcn.0043b410
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 0x426607
fstp st(0)
fld st(0)
call fcn.0043b410
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 0x42662b
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 0x426657
fstp st(3)
jmp 0x426659
fstp st(0)
fxch st(2)
call fcn.0043b410
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 0x42667f
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 0x4266ab
fstp st(1)
jmp 0x4266ad
fstp st(0)
call fcn.0043b410
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 0x4266df
fstp st(0)
fld st(1)
call fcn.0043b410
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 0x426705
fstp st(0)
jmp 0x426707
fstp st(2)
fxch st(1)
call fcn.0043b410
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 0x426740
fstp st(0)
jmp 0x426742
fstp st(1)
call fcn.0043b410
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 0x426778
fstp st(1)
jmp 0x42677a
fstp st(0)
call fcn.0043b410
mov dword [ebp - 0x4c], eax
cmp byte [ebp - 0x29], 0
je 0x4268ec
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.0043b0e0
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 0x4268c9
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 0x4268e4
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.0043d0fe
add esp, 4
mov ebx, eax
mov dword [ebp - 0xb8], ebx
test ebx, ebx
jne 0x426931
mov dword [ebp - 0x34], 7
jmp 0x426e22
push esi
xor esi, esi
push esi
push ebx
call fcn.0043b0e0
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 0x426cb3
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 0x426ca8
mov al, byte [ebp - 0x29]
test al, al
je 0x426a7b
cmp dword [ebp - 0x60], 0
je 0x426a7b
mov eax, dword [ebp - 0x44]
fild dword [ebp - 0x44]
test eax, eax
jge 0x4269f3
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 0x426a1f
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 0x426a35
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 0x426a61
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.0x426a8d
jmp dword [esi*4 + 0x426f14]
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 0x426c8d
test al, al
je 0x426b7d
cmp dword [ebp - 0x60], 0
je 0x426b7d
test edi, edi
je 0x426b7d
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 0x426c8d
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 0x426c8d
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 0x426c8d
test al, al
je 0x426c7a
cmp dword [ebp - 0x60], 0
je 0x426c7a
test edi, edi
je 0x426c7a
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 0x426c8a
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 0x4269c4
add eax, 1
mov dword [ebp - 0x44], eax
jmp 0x42699a
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 0x426d85
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 0x426d37
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 0x426d81
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.00407920
add esp, 0x34
mov dword [ebp - 0x34], 0
jmp 0x426e22
test edi, edi
je 0x426d37
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 0x426d75
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], 0
jmp 0x426e22
mov dword [ebp - 0x34], ebx
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426e2c
mov dword [ebp - 0x34], 2
wait
mov dword [ebp - 4], 0xfffffffe
jmp 0x426e2c
wait
mov dword [ebp - 4], 0xfffffffe
xor ebx, ebx
mov eax, dword [ebp - 0xc0]
mov esi, dword [ebp - 0x90]
cmp eax, ebx
je 0x426e44
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, ebx
je 0x426e4f
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0x74]
cmp eax, ebx
je 0x426e5d
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0xb8]
cmp eax, ebx
je 0x426e70
push eax
call fcn.0043d021
add esp, 4
mov eax, dword [ebp - 0xbc]
cmp eax, ebx
je 0x426e81
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0xc4]
cmp eax, ebx
je 0x426e92
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x98]
cmp eax, ebx
je 0x426ea5
push eax
call fcn.0043d021
add esp, 4
mov eax, dword [ebp - 0x68]
cmp eax, ebx
je 0x426eb5
push eax
call fcn.0043d021
add esp, 4
cmp dword [ebp - 0x28], ebx
je 0x426ed0
cmp dword [ebp - 0x3c], ebx
je 0x426ed0
push ebx
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x28]
push edx
call fcn.00430a10
add esp, 0xc
mov eax, dword [ebp - 0xcc]
cmp eax, ebx
je 0x426ee3
push eax
call fcn.0043bc5d
add esp, 4
mov eax, dword [ebp - 0x34]
jmp 0x426eed
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.0043b3fc
add ebp, 0x520
mov esp, ebp
pop ebp
ret