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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10159cca
mov eax, dword fs:[0]
push eax
sub esp, 0xd5c
mov eax, dword [0x101a4494]
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.100540b0
mov dword [ebp - 4], 0
push 4
lea ecx, [ebp - 0x92c]
push ecx
lea ecx, [ebp - 0x7a0]
call fcn.100558c0
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.10054550
push eax
push str..ico
call fcn.10137dda
add esp, 8
test eax, eax
jne 0x10073e77
mov dword [ebp - 0xc44], 1
jmp 0x10073e81
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.10054300
movzx ecx, byte [ebp - 0xbed]
test ecx, ecx
je 0x1007408e
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.1012e610
add esp, 0xc
push 0x200
push 0
lea ecx, [ebp - 0x618]
push ecx
call fcn.1012e610
add esp, 0xc
push 0x200
push 0
lea edx, [ebp - 0x218]
push edx
call fcn.1012e610
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.10067840
add esp, 0x14
push str..ico
lea edx, [ebp - 0x218]
push edx
call fcn.10137dda
add esp, 8
test eax, eax
jne 0x1007408e
lea ecx, [ebp - 0x824]
call fcn.100540f0
mov byte [ebp - 4], 2
push 0x10161b24
lea eax, [ebp - 0x18]
push eax
call fcn.1013d37b
add esp, 8
test eax, eax
jne 0x10073f6c
call fcn.100585f0
push eax
lea ecx, [ebp - 0x824]
call fcn.10054430
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x824]
call fcn.10054650
push 0x50
push 0
push 0
push 1
lea ecx, [ebp - 0x824]
call fcn.10054550
push eax
push 0
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [ebp - 0xc2c], eax
cmp dword [ebp - 0xc2c], 0
je 0x1007407f
push 0x98
call fcn.100f4a3f
add esp, 4
mov dword [ebp - 0xc24], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0xc24], 0
je 0x10073fdd
mov ecx, dword [ebp - 0xc24]
call fcn.100567d0
mov dword [ebp - 0xc28], eax
jmp 0x10073fe7
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.10068fe0
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.10054300
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.10054300
mov eax, dword [ebp - 0xcb0]
jmp 0x1007512f
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.10054300
mov dword [ebp - 0xbd4], 0
mov dword [ebp - 0xbd0], 0
cmp dword [ebp + 0x14], 0
jne 0x100743ff
call fcn.100585f0
push eax
lea ecx, [ebp - 0x71c]
call fcn.10054070
mov byte [ebp - 4], 4
call fcn.10058610
mov ecx, eax
call fcn.10055140
movzx eax, al
test eax, eax
je 0x1007421a
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x71c]
call fcn.10054650
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
lea ecx, [ebp - 0x71c]
call fcn.10054550
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xbf8], eax
cmp dword [ebp - 0xbf8], 0xffffffff
jne 0x1007412e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.10054300
jmp 0x100744de
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 0x1007416d
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.10054300
jmp 0x100744de
mov dword [ebp - 0xc30], 0
push 0x10178e08
mov ecx, dword [ebp - 0xbd0]
push ecx
call fcn.100f5ac5
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 0x10074215
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xca8], eax
mov ecx, dword [ebp - 0xca8]
push ecx
call fcn.100f4f26
add esp, 4
mov dword [ebp - 0xbd4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.10054300
jmp 0x100744de
jmp 0x100743eb
call fcn.10058610
push eax
lea ecx, [ebp - 0x71c]
call fcn.10054620
call fcn.10058870
movzx edx, al
test edx, edx
je 0x100743a2
call fcn.10058620
mov dword [ebp - 0xc18], eax
cmp dword [ebp - 0xc18], 0
jne 0x10074263
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.10054300
jmp 0x100744de
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x698]
call fcn.10014d60
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.1007fbd0
add esp, 0x10
test eax, eax
jne 0x100742aa
mov dword [ebp - 0xc34], 1
jmp 0x100742b4
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.100098e0
movzx eax, byte [ebp - 0xbee]
test eax, eax
je 0x100742ee
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.10054300
jmp 0x100744de
mov ecx, dword [ebp - 0x9b4]
mov dword [ebp - 0xbd0], ecx
cmp dword [ebp - 0xbd0], 0
jne 0x10074317
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.10054300
jmp 0x100744de
push 0x10178e08
mov edx, dword [ebp - 0xbd0]
push edx
call fcn.100f5ac5
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.1007f9e0
add esp, 0x10
test eax, eax
jne 0x100743a0
mov edx, dword [ebp - 0xbd4]
mov dword [ebp - 0xcb8], edx
push 1
mov eax, dword [ebp - 0xcb8]
push eax
call fcn.100f4a6f
add esp, 8
mov dword [ebp - 0xbd4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.10054300
jmp 0x100744de
jmp 0x100743eb
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.10054550
push eax
call fcn.1008c6b0
add esp, 0x10
mov dword [ebp - 0xcc0], eax
cmp dword [ebp - 0xcc0], 0
jge 0x100743eb
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.10054300
jmp 0x100744de
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.10054300
jmp 0x100744d6
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.100585c0
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0xbfc], eax
cmp dword [ebp - 0xbfc], 0
jne 0x10074427
jmp 0x100744de
mov eax, dword [ebp - 0xbfc]
push eax
call fcn.100585c0
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0xc38], eax
cmp dword [ebp - 0xc38], 0
jne 0x1007445b
mov ecx, dword [ebp - 0xbfc]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x100744de
mov edx, dword [ebp - 0xbfc]
push edx
call fcn.100585c0
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0xbd0], eax
cmp dword [ebp - 0xbd0], 0
jne 0x1007447f
jmp 0x100744de
push 0x10178e08
mov eax, dword [ebp - 0xbd0]
push eax
call fcn.100f5ac5
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.1012db10
add esp, 0xc
mov edx, dword [ebp - 0xbfc]
push edx
call dword [sym.imp.KERNEL32.dll_FreeResource]
xor eax, eax
jne 0x100740a2
cmp dword [ebp - 0xbd4], 0
jne 0x100745e6
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 0x1007451b
jmp 0x100745e6
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 0x1007454b
mov eax, dword [ebp - 0xc00]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100745e6
mov dword [ebp - 0xc3c], 0
push 0x10178e08
mov ecx, dword [ebp - 0xbd0]
push ecx
call fcn.100f5ac5
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 0x100745df
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0xccc]
push ecx
call fcn.100f4f26
add esp, 4
mov dword [ebp - 0xbd4], 0
jmp 0x100745e6
cmp dword [ebp - 0xbd4], 0
jne 0x10074616
mov dword [ebp - 0xcd0], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.10054300
mov eax, dword [ebp - 0xcd0]
jmp 0x1007512f
mov dword [ebp - 0xbe0], 0
lea ecx, [ebp - 0xc14]
call fcn.1010bcb0
mov byte [ebp - 4], 6
mov byte [ebp - 0xbd5], 1
push 4
lea edx, [ebp - 0x9b0]
push edx
lea ecx, [ebp - 0x7a0]
call fcn.100558c0
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.10054550
push eax
push str..svg
call fcn.10137dda
add esp, 8
test eax, eax
jne 0x10074689
mov dword [ebp - 0xc40], 1
jmp 0x10074693
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.10054300
movzx edx, byte [ebp - 0xbef]
test edx, edx
je 0x100747d8
mov eax, dword [ebp - 0xbd0]
push eax
mov ecx, dword [ebp - 0xbd4]
push ecx
lea edx, [ebp - 0xc04]
push edx
call fcn.1010be80
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xc04]
call fcn.10068340
movzx eax, al
test eax, eax
je 0x100747c7
push 0
lea ecx, [ebp - 0xc04]
call fcn.10068390
mov ecx, eax
call fcn.1010be70
call fcn.100f5b50
push eax
mov ecx, dword [ebp + 0xc]
call fcn.10057c40
mov ecx, eax
call fcn.10055e30
push eax
lea ecx, [ebp - 0xc04]
call fcn.10068390
mov ecx, eax
call fcn.1010c440
call fcn.100f5b50
push eax
mov ecx, dword [ebp + 0xc]
call fcn.10057c40
mov ecx, eax
call fcn.10055e30
push eax
lea ecx, [ebp - 0xcf0]
push ecx
lea ecx, [ebp - 0xc04]
call fcn.10068390
mov ecx, eax
call fcn.1010c110
mov dword [ebp - 0xc74], eax
mov edx, dword [ebp - 0xc74]
push edx
lea ecx, [ebp - 0xc14]
call fcn.100682e0
lea ecx, [ebp - 0xcf0]
call fcn.10068060
lea ecx, [ebp - 0xc14]
call fcn.1010c430
mov dword [ebp - 0xbe8], eax
lea ecx, [ebp - 0xc14]
call fcn.1010be60
mov dword [ebp - 0xbe4], eax
lea ecx, [ebp - 0xc14]
call fcn.10076630
lea ecx, [ebp - 0xc14]
call fcn.1010be40
mov dword [ebp - 0xbe0], eax
mov byte [ebp - 0xbd5], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc04]
call fcn.10067fb0
jmp 0x1007480b
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.1009bcb0
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.100f4f26
add esp, 4
cmp dword [ebp - 0xbe0], 0
jne 0x10074865
mov dword [ebp - 0xc7c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.10068060
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.10054300
mov eax, dword [ebp - 0xc7c]
jmp 0x1007512f
push 0x2c
push 0
lea ecx, [ebp - 0x654]
push ecx
call fcn.1012e610
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 0x10074946
mov dword [ebp - 0xc80], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.10068060
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.10054300
mov eax, dword [ebp - 0xc80]
jmp 0x1007512f
mov dword [ebp - 0xbcc], 0
jmp 0x10074961
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 0x10074b39
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 0x10074a78
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 0x10074ad6
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 0x10074b34
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 0x10074952
movzx ecx, byte [ebp - 0xbd5]
test ecx, ecx
je 0x10074b53
mov edx, dword [ebp - 0xbe0]
push edx
call fcn.1009bc90
add esp, 4
mov dword [ebp - 0xc1c], 0x64
push 0
push 0x10169abc
lea ecx, [ebp - 0x7a0]
call fcn.10054a60
mov dword [ebp - 0xc70], eax
cmp dword [ebp - 0xc70], 0xffffffff
je 0x10074bc9
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc70]
add eax, 3
push eax
lea ecx, [ebp - 0x8a8]
push ecx
lea ecx, [ebp - 0x7a0]
call fcn.100552b0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8a8]
call fcn.10054550
push eax
call fcn.10138ba4
add esp, 4
mov dword [ebp - 0xc1c], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x8a8]
call fcn.10054300
mov ecx, dword [ebp + 0xc]
call fcn.10057c40
mov ecx, eax
call fcn.10055c80
mov dword [ebp - 0xc64], eax
mov edx, dword [ebp - 0xc1c]
cmp edx, dword [ebp - 0xc64]
je 0x10075063
movzx eax, byte [ebp - 0xbd5]
test eax, eax
je 0x10075063
mov ecx, dword [ebp + 0xc]
call fcn.10057c40
mov ecx, eax
call fcn.10055c80
mov dword [ebp - 0xc6c], eax
cvtsi2sd xmm0, dword [ebp - 0xc6c]
mov ecx, dword [ebp - 0xc6c]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x10169bd0]
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.10076610
add esp, 4
call fcn.100f5b50
mov dword [ebp - 0xbe8], eax
push ecx
movss xmm0, dword [ebp - 0xc88]
movss dword [esp], xmm0
call fcn.10076610
add esp, 4
call fcn.100f5b50
mov dword [ebp - 0xbe4], eax
cmp dword [ebp - 0xc64], 0xc8
jle 0x10074f89
movzx edx, byte [ebp + 8]
test edx, edx
je 0x10074f89
push 0x2c
push 0
lea eax, [ebp - 0x680]
push eax
call fcn.1012e610
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 0x10074d98
mov dword [ebp - 0xc8c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.10068060
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.10054300
mov eax, dword [ebp - 0xc8c]
jmp 0x1007512f
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xc08], eax
cmp dword [ebp - 0xc08], 0
jne 0x10074df2
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.10068060
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.10054300
mov eax, dword [ebp - 0xc90]
jmp 0x1007512f
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.10067d60
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0xbec]
push ecx
lea ecx, [ebp - 0xd68]
call fcn.10072880
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.10069900
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.10067d60
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xc20]
push eax
lea ecx, [ebp - 0xd40]
call fcn.10072880
lea ecx, [ebp - 0xc58]
call fcn.10067c20
mov byte [ebp - 4], 0xc
push 0
lea ecx, [ebp - 0xc58]
push ecx
lea ecx, [ebp - 0xd40]
call fcn.10068db0
push 0
lea ecx, [ebp - 0xd40]
call fcn.100690b0
lea ecx, [ebp - 0xc5c]
call fcn.10067c40
mov byte [ebp - 4], 0xd
push 0
lea edx, [ebp - 0xc5c]
push edx
lea ecx, [ebp - 0xd40]
call fcn.10068db0
lea ecx, [ebp - 0xd40]
call fcn.100698c0
mov dword [ebp - 0xbec], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xc5c]
call fcn.100680e0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xc58]
call fcn.100680e0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xd40]
call fcn.100681b0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xd68]
call fcn.100681b0
jmp 0x10075063
lea ecx, [ebp - 0xd18]
call fcn.10067d60
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0xbec]
push eax
lea ecx, [ebp - 0xd18]
call fcn.10072880
push 0
mov ecx, dword [ebp - 0xbe4]
push ecx
mov edx, dword [ebp - 0xbe8]
push edx
lea ecx, [ebp - 0xd18]
call fcn.10075950
mov eax, dword [ebp - 0xbec]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
lea ecx, [ebp - 0xc54]
call fcn.10067c20
mov byte [ebp - 4], 0xf
push 0
lea ecx, [ebp - 0xc54]
push ecx
lea ecx, [ebp - 0xd18]
call fcn.10068db0
lea ecx, [ebp - 0xc48]
call fcn.10067c40
mov byte [ebp - 4], 0x10
push 0
lea ecx, [ebp - 0xd18]
call fcn.100690b0
push 0
lea edx, [ebp - 0xc48]
push edx
lea ecx, [ebp - 0xd18]
call fcn.10068db0
lea ecx, [ebp - 0xd18]
call fcn.100698c0
mov dword [ebp - 0xbec], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xc48]
call fcn.100680e0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xc54]
call fcn.100680e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xd18]
call fcn.100681b0
push 0x10178e08
push 0x98
call fcn.100f5a75
add esp, 8
mov dword [ebp - 0xc50], eax
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0xc50], 0
je 0x1007509b
mov ecx, dword [ebp - 0xc50]
call fcn.100567d0
mov dword [ebp - 0xc4c], eax
jmp 0x100750a5
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.10068060
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.10054300
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.100f4dc3
mov esp, ebp
pop ebp
ret