Function at 0x460fd0
Capabilities:
Extract resource via kernel32 functions
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61299a
mov eax, dword fs:[0]
push eax
sub esp, 0xd5c
mov eax, dword [0x68e4d8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0xffffffffffffffff
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x7a0]
call fcn.00446e60
mov dword [ebp - 4], 0
push 4
lea ecx, [ebp - 0x92c]
push ecx
lea ecx, [ebp - 0x7a0]
call fcn.00449080
mov dword [ebp - 0xcbc], eax
mov edx, dword [ebp - 0xcbc]
mov dword [ebp - 0xca0], edx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0xca0]
call fcn.00447660
push eax
push 0x62ff34
call fcn.005b01f7
add esp, 8
test eax, eax
jne 0x461067
mov dword [ebp - 0xc44], 1
jmp 0x461071
mov dword [ebp - 0xc44], 0
mov al, byte [ebp - 0xc44]
mov byte [ebp - 0xbed], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x92c]
call fcn.004472b0
movzx ecx, byte [ebp - 0xbed]
test ecx, ecx
je 0x46127e
xor edx, edx
mov dword [ebp - 0x18], edx
mov word [ebp - 0x14], dx
push 0x200
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.0058abd0
add esp, 0xc
push 0x200
push 0
lea ecx, [ebp - 0x618]
push ecx
call fcn.0058abd0
add esp, 0xc
push 0x200
push 0
lea edx, [ebp - 0x218]
push edx
call fcn.0058abd0
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x618]
push ecx
lea edx, [ebp - 0x418]
push edx
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004544e0
add esp, 0x14
push 0x62ff34
lea edx, [ebp - 0x218]
push edx
call fcn.005b01f7
add esp, 8
test eax, eax
jne 0x46127e
lea ecx, [ebp - 0x824]
call fcn.00446ea0
mov byte [ebp - 4], 2
push 0x66341c
lea eax, [ebp - 0x18]
push eax
call fcn.005b2cdc
add esp, 8
test eax, eax
jne 0x46115c
call fcn.0043c800
push eax
lea ecx, [ebp - 0x824]
call fcn.00447430
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x824]
call fcn.004479d0
push 0x50
push 0
push 0
push 1
lea ecx, [ebp - 0x824]
call fcn.00448380
push eax
push 0
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [ebp - 0xc2c], eax
cmp dword [ebp - 0xc2c], 0
je 0x46126f
push 0x98
call fcn.00512fe0
add esp, 4
mov dword [ebp - 0xc24], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0xc24], 0
je 0x4611cd
mov ecx, dword [ebp - 0xc24]
call fcn.00439f50
mov dword [ebp - 0xc28], eax
jmp 0x4611d7
mov dword [ebp - 0xc28], 0
mov edx, dword [ebp - 0xc28]
mov dword [ebp - 0xc9c], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xc9c]
mov dword [ebp - 0xbf4], eax
mov ecx, dword [ebp - 0xbf4]
add ecx, 8
push ecx
mov edx, dword [ebp - 0xbf4]
add edx, 4
push edx
mov eax, dword [ebp - 0xc2c]
push eax
call fcn.00455ff0
add esp, 0xc
mov ecx, dword [ebp - 0xbf4]
mov dword [ecx], eax
mov edx, dword [ebp - 0xbf4]
mov byte [edx + 0xc], 1
mov eax, dword [ebp - 0xbf4]
mov ecx, dword [ebp + 0x18]
mov dword [eax + 0x94], ecx
mov edx, dword [ebp - 0xbf4]
mov dword [ebp - 0xcb0], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.004472b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.004472b0
mov eax, dword [ebp - 0xcb0]
jmp 0x46231f
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.004472b0
mov dword [ebp - 0xbd4], 0
mov dword [ebp - 0xbd0], 0
cmp dword [ebp + 0x14], 0
jne 0x4615ef
call fcn.0043c800
push eax
lea ecx, [ebp - 0x71c]
call fcn.00446e20
mov byte [ebp - 4], 4
call fcn.0043c820
mov ecx, eax
call fcn.00448730
movzx eax, al
test eax, eax
je 0x46140a
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x71c]
call fcn.004479d0
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
lea ecx, [ebp - 0x71c]
call fcn.00448380
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xbf8], eax
cmp dword [ebp - 0xbf8], 0xffffffff
jne 0x46131e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.004472b0
jmp 0x4616ce
push 0
mov edx, dword [ebp - 0xbf8]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0xbd0], eax
cmp dword [ebp - 0xbd0], 0
jne 0x46135d
mov eax, dword [ebp - 0xbf8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.004472b0
jmp 0x4616ce
mov dword [ebp - 0xc30], 0
push 0x697b18
mov ecx, dword [ebp - 0xbd0]
push ecx
call fcn.00537378
add esp, 8
mov dword [ebp - 0xca4], eax
mov edx, dword [ebp - 0xca4]
mov dword [ebp - 0xbd4], edx
push 0
lea eax, [ebp - 0xc30]
push eax
mov ecx, dword [ebp - 0xbd0]
push ecx
mov edx, dword [ebp - 0xbd4]
push edx
mov eax, dword [ebp - 0xbf8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [ebp - 0xbf8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0xc30]
cmp edx, dword [ebp - 0xbd0]
je 0x461405
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xca8], eax
mov ecx, dword [ebp - 0xca8]
push ecx
call fcn.0053705b
add esp, 4
mov dword [ebp - 0xbd4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.004472b0
jmp 0x4616ce
jmp 0x4615db
call fcn.0043c820
push eax
lea ecx, [ebp - 0x71c]
call fcn.00447910
call fcn.0043cb40
movzx edx, al
test edx, edx
je 0x461592
call fcn.0043c830
mov dword [ebp - 0xc18], eax
cmp dword [ebp - 0xc18], 0
jne 0x461453
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.004472b0
jmp 0x4616ce
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x698]
call fcn.0040eae0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xbc8]
push ecx
lea edx, [ebp - 0xcb4]
push edx
lea eax, [ebp - 0x698]
push eax
mov ecx, dword [ebp - 0xc18]
push ecx
call fcn.004722c0
add esp, 0x10
test eax, eax
jne 0x46149a
mov dword [ebp - 0xc34], 1
jmp 0x4614a4
mov dword [ebp - 0xc34], 0
mov dl, byte [ebp - 0xc34]
mov byte [ebp - 0xbee], dl
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x698]
call fcn.0040ea10
movzx eax, byte [ebp - 0xbee]
test eax, eax
je 0x4614de
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.004472b0
jmp 0x4616ce
mov ecx, dword [ebp - 0x9b4]
mov dword [ebp - 0xbd0], ecx
cmp dword [ebp - 0xbd0], 0
jne 0x461507
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.004472b0
jmp 0x4616ce
push 0x697b18
mov edx, dword [ebp - 0xbd0]
push edx
call fcn.00537378
add esp, 8
mov dword [ebp - 0xcac], eax
mov eax, dword [ebp - 0xcac]
mov dword [ebp - 0xbd4], eax
mov ecx, dword [ebp - 0xbd0]
push ecx
mov edx, dword [ebp - 0xbd4]
push edx
mov eax, dword [ebp - 0xcb4]
push eax
mov ecx, dword [ebp - 0xc18]
push ecx
call fcn.00471f90
add esp, 0x10
test eax, eax
jne 0x461590
mov edx, dword [ebp - 0xbd4]
mov dword [ebp - 0xcb8], edx
push 1
mov eax, dword [ebp - 0xcb8]
push eax
call fcn.00537023
add esp, 8
mov dword [ebp - 0xbd4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.004472b0
jmp 0x4616ce
jmp 0x4615db
lea ecx, [ebp - 0xbd0]
push ecx
lea edx, [ebp - 0xbd4]
push edx
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x71c]
call fcn.00448380
push eax
call fcn.00488160
add esp, 0x10
mov dword [ebp - 0xcc0], eax
cmp dword [ebp - 0xcc0], 0
jge 0x4615db
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.004472b0
jmp 0x4616ce
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.004472b0
jmp 0x4616c6
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.0043c7d0
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0xbfc], eax
cmp dword [ebp - 0xbfc], 0
jne 0x461617
jmp 0x4616ce
mov eax, dword [ebp - 0xbfc]
push eax
call fcn.0043c7d0
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0xc38], eax
cmp dword [ebp - 0xc38], 0
jne 0x46164b
mov ecx, dword [ebp - 0xbfc]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x4616ce
mov edx, dword [ebp - 0xbfc]
push edx
call fcn.0043c7d0
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0xbd0], eax
cmp dword [ebp - 0xbd0], 0
jne 0x46166f
jmp 0x4616ce
push 0x697b18
mov eax, dword [ebp - 0xbd0]
push eax
call fcn.00537378
add esp, 8
mov dword [ebp - 0xcc4], eax
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0xbd4], ecx
mov edx, dword [ebp - 0xbd0]
push edx
mov eax, dword [ebp - 0xc38]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push eax
mov ecx, dword [ebp - 0xbd4]
push ecx
call fcn.0058a0d0
add esp, 0xc
mov edx, dword [ebp - 0xbfc]
push edx
call dword [sym.imp.KERNEL32.dll_FreeResource]
xor eax, eax
jne 0x461292
cmp dword [ebp - 0xbd4], 0
jne 0x4617d6
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xc00], eax
cmp dword [ebp - 0xc00], 0xffffffff
jne 0x46170b
jmp 0x4617d6
push 0
mov edx, dword [ebp - 0xc00]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0xbd0], eax
cmp dword [ebp - 0xbd0], 0
jne 0x46173b
mov eax, dword [ebp - 0xc00]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4617d6
mov dword [ebp - 0xc3c], 0
push 0x697b18
mov ecx, dword [ebp - 0xbd0]
push ecx
call fcn.00537378
add esp, 8
mov dword [ebp - 0xcc8], eax
mov edx, dword [ebp - 0xcc8]
mov dword [ebp - 0xbd4], edx
push 0
lea eax, [ebp - 0xc3c]
push eax
mov ecx, dword [ebp - 0xbd0]
push ecx
mov edx, dword [ebp - 0xbd4]
push edx
mov eax, dword [ebp - 0xc00]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [ebp - 0xc00]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0xc3c]
cmp edx, dword [ebp - 0xbd0]
je 0x4617cf
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0xccc]
push ecx
call fcn.0053705b
add esp, 4
mov dword [ebp - 0xbd4], 0
jmp 0x4617d6
cmp dword [ebp - 0xbd4], 0
jne 0x461806
mov dword [ebp - 0xcd0], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.004472b0
mov eax, dword [ebp - 0xcd0]
jmp 0x46231f
mov dword [ebp - 0xbe0], 0
lea ecx, [ebp - 0xc14]
call fcn.00539d20
mov byte [ebp - 4], 6
mov byte [ebp - 0xbd5], 1
push 4
lea edx, [ebp - 0x9b0]
push edx
lea ecx, [ebp - 0x7a0]
call fcn.00449080
mov dword [ebp - 0xcd4], eax
mov eax, dword [ebp - 0xcd4]
mov dword [ebp - 0xcd8], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0xcd8]
call fcn.00447660
push eax
push str..svg
call fcn.005b01f7
add esp, 8
test eax, eax
jne 0x461879
mov dword [ebp - 0xc40], 1
jmp 0x461883
mov dword [ebp - 0xc40], 0
mov cl, byte [ebp - 0xc40]
mov byte [ebp - 0xbef], cl
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9b0]
call fcn.004472b0
movzx edx, byte [ebp - 0xbef]
test edx, edx
je 0x4619c8
mov eax, dword [ebp - 0xbd0]
push eax
mov ecx, dword [ebp - 0xbd4]
push ecx
lea edx, [ebp - 0xc04]
push edx
call fcn.0053b9a0
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xc04]
call fcn.00455310
movzx eax, al
test eax, eax
je 0x4619b7
push 0
lea ecx, [ebp - 0xc04]
call fcn.00455370
mov ecx, eax
call fcn.0053b830
call fcn.00537740
push eax
mov ecx, dword [ebp + 0xc]
call fcn.0043bb10
mov ecx, eax
call fcn.0044dbd0
push eax
lea ecx, [ebp - 0xc04]
call fcn.00455370
mov ecx, eax
call fcn.0053d5d0
call fcn.00537740
push eax
mov ecx, dword [ebp + 0xc]
call fcn.0043bb10
mov ecx, eax
call fcn.0044dbd0
push eax
lea ecx, [ebp - 0xcf0]
push ecx
lea ecx, [ebp - 0xc04]
call fcn.00455370
mov ecx, eax
call fcn.0053c3b0
mov dword [ebp - 0xc74], eax
mov edx, dword [ebp - 0xc74]
push edx
lea ecx, [ebp - 0xc14]
call fcn.004552b0
lea ecx, [ebp - 0xcf0]
call fcn.00455010
lea ecx, [ebp - 0xc14]
call fcn.0053d5c0
mov dword [ebp - 0xbe8], eax
lea ecx, [ebp - 0xc14]
call fcn.0053b820
mov dword [ebp - 0xbe4], eax
lea ecx, [ebp - 0xc14]
call fcn.00463c10
lea ecx, [ebp - 0xc14]
call fcn.0053b510
mov dword [ebp - 0xbe0], eax
mov byte [ebp - 0xbd5], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc04]
call fcn.00454f60
jmp 0x4619fb
push 4
lea eax, [ebp - 0xce8]
push eax
lea ecx, [ebp - 0xbe4]
push ecx
lea edx, [ebp - 0xbe8]
push edx
mov eax, dword [ebp - 0xbd0]
push eax
mov ecx, dword [ebp - 0xbd4]
push ecx
call fcn.00498560
add esp, 0x18
mov dword [ebp - 0xbe0], eax
mov edx, dword [ebp - 0xbd4]
mov dword [ebp - 0xc78], edx
mov eax, dword [ebp - 0xc78]
push eax
call fcn.0053705b
add esp, 4
cmp dword [ebp - 0xbe0], 0
jne 0x461a55
mov dword [ebp - 0xc7c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.00455010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.004472b0
mov eax, dword [ebp - 0xc7c]
jmp 0x46231f
push 0x2c
push 0
lea ecx, [ebp - 0x654]
push ecx
call fcn.0058abd0
add esp, 0xc
mov dword [ebp - 0x654], 0x28
mov edx, dword [ebp - 0xbe8]
mov dword [ebp - 0x650], edx
mov eax, dword [ebp - 0xbe4]
neg eax
mov dword [ebp - 0x64c], eax
mov ecx, 1
mov word [ebp - 0x648], cx
mov edx, 0x20
mov word [ebp - 0x646], dx
mov dword [ebp - 0x644], 0
mov eax, dword [ebp - 0xbe8]
imul eax, dword [ebp - 0xbe4]
shl eax, 2
mov dword [ebp - 0x640], eax
mov byte [ebp - 0xbd6], 0
mov dword [ebp - 0xbdc], 0
push 0
push 0
lea ecx, [ebp - 0xbdc]
push ecx
push 0
lea edx, [ebp - 0x654]
push edx
push 0
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [ebp - 0xbec], eax
cmp dword [ebp - 0xbec], 0
jne 0x461b36
mov dword [ebp - 0xc80], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.00455010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.004472b0
mov eax, dword [ebp - 0xc80]
jmp 0x46231f
mov dword [ebp - 0xbcc], 0
jmp 0x461b51
mov eax, dword [ebp - 0xbcc]
add eax, 1
mov dword [ebp - 0xbcc], eax
mov ecx, dword [ebp - 0xbe8]
imul ecx, dword [ebp - 0xbe4]
cmp dword [ebp - 0xbcc], ecx
jge 0x461d29
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbdc]
mov ecx, dword [ebp - 0xbcc]
mov esi, dword [ebp - 0xbe0]
mov cl, byte [esi + ecx*4 + 3]
mov byte [eax + edx*4 + 3], cl
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbdc]
movzx ecx, byte [eax + edx*4 + 3]
cmp ecx, 0xff
jge 0x461c68
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbe0]
movzx eax, byte [eax + edx*4 + 2]
mov ecx, dword [ebp - 0xbcc]
mov edx, dword [ebp - 0xbe0]
movzx ecx, byte [edx + ecx*4 + 3]
imul eax, ecx
xor edx, edx
mov ecx, 0xff
div ecx
mov edx, dword [ebp - 0xbcc]
mov ecx, dword [ebp - 0xbdc]
mov byte [ecx + edx*4], al
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbe0]
movzx eax, byte [eax + edx*4 + 1]
mov ecx, dword [ebp - 0xbcc]
mov edx, dword [ebp - 0xbe0]
movzx ecx, byte [edx + ecx*4 + 3]
imul eax, ecx
xor edx, edx
mov ecx, 0xff
div ecx
mov edx, dword [ebp - 0xbcc]
mov ecx, dword [ebp - 0xbdc]
mov byte [ecx + edx*4 + 1], al
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbe0]
movzx eax, byte [eax + edx*4]
mov ecx, dword [ebp - 0xbcc]
mov edx, dword [ebp - 0xbe0]
movzx ecx, byte [edx + ecx*4 + 3]
imul eax, ecx
xor edx, edx
mov ecx, 0xff
div ecx
mov edx, dword [ebp - 0xbcc]
mov ecx, dword [ebp - 0xbdc]
mov byte [ecx + edx*4 + 2], al
mov byte [ebp - 0xbd6], 1
jmp 0x461cc6
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbdc]
mov ecx, dword [ebp - 0xbcc]
mov esi, dword [ebp - 0xbe0]
mov cl, byte [esi + ecx*4 + 2]
mov byte [eax + edx*4], cl
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbdc]
mov ecx, dword [ebp - 0xbcc]
mov esi, dword [ebp - 0xbe0]
mov cl, byte [esi + ecx*4 + 1]
mov byte [eax + edx*4 + 1], cl
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbdc]
mov ecx, dword [ebp - 0xbcc]
mov esi, dword [ebp - 0xbe0]
mov cl, byte [esi + ecx*4]
mov byte [eax + edx*4 + 2], cl
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbdc]
mov ecx, dword [eax + edx*4]
cmp ecx, dword [ebp + 0x18]
jne 0x461d24
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbdc]
mov byte [eax + edx*4], 0
mov ecx, dword [ebp - 0xbcc]
mov edx, dword [ebp - 0xbdc]
mov byte [edx + ecx*4 + 1], 0
mov eax, dword [ebp - 0xbcc]
mov ecx, dword [ebp - 0xbdc]
mov byte [ecx + eax*4 + 2], 0
mov edx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbdc]
mov byte [eax + edx*4 + 3], 0
mov byte [ebp - 0xbd6], 1
jmp 0x461b42
movzx ecx, byte [ebp - 0xbd5]
test ecx, ecx
je 0x461d43
mov edx, dword [ebp - 0xbe0]
push edx
call fcn.004983c0
add esp, 4
mov dword [ebp - 0xc1c], 0x64
push 0
push 0x62ff4c
lea ecx, [ebp - 0x7a0]
call fcn.00447f20
mov dword [ebp - 0xc70], eax
cmp dword [ebp - 0xc70], 0xffffffff
je 0x461db9
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc70]
add eax, 3
push eax
lea ecx, [ebp - 0x8a8]
push ecx
lea ecx, [ebp - 0x7a0]
call fcn.00448940
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8a8]
call fcn.00447660
push eax
call fcn.005b4e2d
add esp, 4
mov dword [ebp - 0xc1c], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x8a8]
call fcn.004472b0
mov ecx, dword [ebp + 0xc]
call fcn.0043bb10
mov ecx, eax
call fcn.0044d9d0
mov dword [ebp - 0xc64], eax
mov edx, dword [ebp - 0xc1c]
cmp edx, dword [ebp - 0xc64]
je 0x462253
movzx eax, byte [ebp - 0xbd5]
test eax, eax
je 0x462253
mov ecx, dword [ebp + 0xc]
call fcn.0043bb10
mov ecx, eax
call fcn.0044d9d0
mov dword [ebp - 0xc6c], eax
cvtsi2sd xmm0, dword [ebp - 0xc6c]
mov ecx, dword [ebp - 0xc6c]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x630050]
movsd qword [ebp - 0xce4], xmm0
cvtsd2ss xmm0, qword [ebp - 0xce4]
cvtsi2ss xmm1, dword [ebp - 0xc1c]
divss xmm0, xmm1
movss dword [ebp - 0xc68], xmm0
cvtsi2ss xmm0, dword [ebp - 0xbe8]
mulss xmm0, dword [ebp - 0xc68]
movss dword [ebp - 0xc84], xmm0
cvtsi2ss xmm0, dword [ebp - 0xbe4]
mulss xmm0, dword [ebp - 0xc68]
movss dword [ebp - 0xc88], xmm0
push ecx
movss xmm0, dword [ebp - 0xc84]
movss dword [esp], xmm0
call fcn.00463bf0
add esp, 4
call fcn.00537740
mov dword [ebp - 0xbe8], eax
push ecx
movss xmm0, dword [ebp - 0xc88]
movss dword [esp], xmm0
call fcn.00463bf0
add esp, 4
call fcn.00537740
mov dword [ebp - 0xbe4], eax
cmp dword [ebp - 0xc64], 0xc8
jle 0x462179
movzx edx, byte [ebp + 8]
test edx, edx
je 0x462179
push 0x2c
push 0
lea eax, [ebp - 0x680]
push eax
call fcn.0058abd0
add esp, 0xc
mov dword [ebp - 0x680], 0x28
mov ecx, dword [ebp - 0xbe8]
mov dword [ebp - 0x67c], ecx
mov edx, dword [ebp - 0xbe4]
mov dword [ebp - 0x678], edx
mov eax, 1
mov word [ebp - 0x674], ax
mov ecx, 0x20
mov word [ebp - 0x672], cx
mov dword [ebp - 0xc60], 0
push 0
push 0
lea edx, [ebp - 0xc60]
push edx
push 0
lea eax, [ebp - 0x680]
push eax
push 0
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [ebp - 0xc20], eax
cmp dword [ebp - 0xc60], 0
jne 0x461f88
mov dword [ebp - 0xc8c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.00455010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.004472b0
mov eax, dword [ebp - 0xc8c]
jmp 0x46231f
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xc08], eax
cmp dword [ebp - 0xc08], 0
jne 0x461fe2
mov ecx, dword [ebp - 0xc20]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [ebp - 0xc90], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.00455010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.004472b0
mov eax, dword [ebp - 0xc90]
jmp 0x46231f
mov edx, dword [ebp - 0xc20]
push edx
mov eax, dword [ebp - 0xc08]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xc94], eax
lea ecx, [ebp - 0xd68]
call fcn.00454ca0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0xbec]
push ecx
lea ecx, [ebp - 0xd68]
call fcn.0045f880
mov dword [ebp - 0x628], 0
mov dword [ebp - 0x624], 0
mov edx, dword [ebp - 0xbe8]
mov dword [ebp - 0x620], edx
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 0x61c], eax
push 0
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x628]
mov dword [ecx], edx
mov eax, dword [ebp - 0x624]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x620]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x61c]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0xc08]
push ecx
lea ecx, [ebp - 0xd68]
call fcn.00456910
mov edx, dword [ebp - 0xc94]
push edx
mov eax, dword [ebp - 0xc08]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0xc08]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0xbec]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
lea ecx, [ebp - 0xd40]
call fcn.00454ca0
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xc20]
push eax
lea ecx, [ebp - 0xd40]
call fcn.0045f880
lea ecx, [ebp - 0xc58]
call fcn.00454b60
mov byte [ebp - 4], 0xc
push 0
lea ecx, [ebp - 0xc58]
push ecx
lea ecx, [ebp - 0xd40]
call fcn.00455dc0
push 0
lea ecx, [ebp - 0xd40]
call fcn.004560c0
lea ecx, [ebp - 0xc5c]
call fcn.00454b80
mov byte [ebp - 4], 0xd
push 0
lea edx, [ebp - 0xc5c]
push edx
lea ecx, [ebp - 0xd40]
call fcn.00455dc0
lea ecx, [ebp - 0xd40]
call fcn.004568d0
mov dword [ebp - 0xbec], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xc5c]
call fcn.004550b0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xc58]
call fcn.00455090
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xd40]
call fcn.00455180
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xd68]
call fcn.00455180
jmp 0x462253
lea ecx, [ebp - 0xd18]
call fcn.00454ca0
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0xbec]
push eax
lea ecx, [ebp - 0xd18]
call fcn.0045f880
push 0
mov ecx, dword [ebp - 0xbe4]
push ecx
mov edx, dword [ebp - 0xbe8]
push edx
lea ecx, [ebp - 0xd18]
call fcn.00462bc0
mov eax, dword [ebp - 0xbec]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
lea ecx, [ebp - 0xc54]
call fcn.00454b60
mov byte [ebp - 4], 0xf
push 0
lea ecx, [ebp - 0xc54]
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00455dc0
lea ecx, [ebp - 0xc48]
call fcn.00454b80
mov byte [ebp - 4], 0x10
push 0
lea ecx, [ebp - 0xd18]
call fcn.004560c0
push 0
lea edx, [ebp - 0xc48]
push edx
lea ecx, [ebp - 0xd18]
call fcn.00455dc0
lea ecx, [ebp - 0xd18]
call fcn.004568d0
mov dword [ebp - 0xbec], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xc48]
call fcn.004550b0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xc54]
call fcn.00455090
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xd18]
call fcn.00455180
push 0x697b18
push 0x98
call fcn.0053762b
add esp, 8
mov dword [ebp - 0xc50], eax
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0xc50], 0
je 0x46228b
mov ecx, dword [ebp - 0xc50]
call fcn.00439f50
mov dword [ebp - 0xc4c], eax
jmp 0x462295
mov dword [ebp - 0xc4c], 0
mov eax, dword [ebp - 0xc4c]
mov dword [ebp - 0xc98], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xc98]
mov dword [ebp - 0xc0c], ecx
mov edx, dword [ebp - 0xc0c]
mov eax, dword [ebp - 0xbec]
mov dword [edx], eax
mov ecx, dword [ebp - 0xc0c]
mov edx, dword [ebp - 0xbe8]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xc0c]
mov ecx, dword [ebp - 0xbe4]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc0c]
mov al, byte [ebp - 0xbd6]
mov byte [edx + 0xc], al
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0xcdc], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.00455010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.004472b0
mov eax, dword [ebp - 0xcdc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005367cc
mov esp, ebp
pop ebp
ret