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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53f7aa
mov eax, dword fs:[0]
push eax
sub esp, 0xd5c
mov eax, dword [0x5854b4]
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.00433180
mov dword [ebp - 4], 0
push 4
lea ecx, [ebp - 0x92c]
push ecx
lea ecx, [ebp - 0x7a0]
call fcn.00434a10
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.00406cd0
push eax
push 0x54d80c
call fcn.0051ac59
add esp, 8
test eax, eax
jne 0x451557
mov dword [ebp - 0xc44], 1
jmp 0x451561
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.00433420
movzx ecx, byte [ebp - 0xbed]
test ecx, ecx
je 0x45176e
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.00511800
add esp, 0xc
push 0x200
push 0
lea ecx, [ebp - 0x618]
push ecx
call fcn.00511800
add esp, 0xc
push 0x200
push 0
lea edx, [ebp - 0x218]
push edx
call fcn.00511800
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.00445030
add esp, 0x14
push 0x54d80c
lea edx, [ebp - 0x218]
push edx
call fcn.0051ac59
add esp, 8
test eax, eax
jne 0x45176e
lea ecx, [ebp - 0x824]
call fcn.004331c0
mov byte [ebp - 4], 2
push 0x549d50
lea eax, [ebp - 0x18]
push eax
call fcn.00515581
add esp, 8
test eax, eax
jne 0x45164c
call fcn.004377b0
push eax
lea ecx, [ebp - 0x824]
call fcn.00433550
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x824]
call fcn.004337a0
push 0x50
push 0
push 0
push 1
lea ecx, [ebp - 0x824]
call fcn.00406cd0
push eax
push 0
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [ebp - 0xc2c], eax
cmp dword [ebp - 0xc2c], 0
je 0x45175f
push 0x98
call fcn.0041eaf0
add esp, 4
mov dword [ebp - 0xc24], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0xc24], 0
je 0x4516bd
mov ecx, dword [ebp - 0xc24]
call fcn.00435840
mov dword [ebp - 0xc28], eax
jmp 0x4516c7
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.004466c0
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.00433420
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.00433420
mov eax, dword [ebp - 0xcb0]
jmp 0x45280f
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.00433420
mov dword [ebp - 0xbd4], 0
mov dword [ebp - 0xbd0], 0
cmp dword [ebp + 0x14], 0
jne 0x451adf
call fcn.004377b0
push eax
lea ecx, [ebp - 0x71c]
call fcn.00433140
mov byte [ebp - 4], 4
call fcn.004377d0
mov ecx, eax
call fcn.00434250
movzx eax, al
test eax, eax
je 0x4518fa
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x71c]
call fcn.004337a0
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
lea ecx, [ebp - 0x71c]
call fcn.00406cd0
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xbf8], eax
cmp dword [ebp - 0xbf8], 0xffffffff
jne 0x45180e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.00433420
jmp 0x451bbe
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 0x45184d
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.00433420
jmp 0x451bbe
mov dword [ebp - 0xc30], 0
push 0x58c7d0
mov ecx, dword [ebp - 0xbd0]
push ecx
call fcn.004d7a0d
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 0x4518f5
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xca8], eax
mov ecx, dword [ebp - 0xca8]
push ecx
call fcn.004d72c1
add esp, 4
mov dword [ebp - 0xbd4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.00433420
jmp 0x451bbe
jmp 0x451acb
call fcn.004377d0
push eax
lea ecx, [ebp - 0x71c]
call fcn.00433770
call fcn.00437a30
movzx edx, al
test edx, edx
je 0x451a82
call fcn.004377e0
mov dword [ebp - 0xc18], eax
cmp dword [ebp - 0xc18], 0
jne 0x451943
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.00433420
jmp 0x451bbe
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x698]
call fcn.00419d10
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.0045d800
add esp, 0x10
test eax, eax
jne 0x45198a
mov dword [ebp - 0xc34], 1
jmp 0x451994
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.00428550
movzx eax, byte [ebp - 0xbee]
test eax, eax
je 0x4519ce
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.00433420
jmp 0x451bbe
mov ecx, dword [ebp - 0x9b4]
mov dword [ebp - 0xbd0], ecx
cmp dword [ebp - 0xbd0], 0
jne 0x4519f7
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.00433420
jmp 0x451bbe
push 0x58c7d0
mov edx, dword [ebp - 0xbd0]
push edx
call fcn.004d7a0d
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.0045d610
add esp, 0x10
test eax, eax
jne 0x451a80
mov edx, dword [ebp - 0xbd4]
mov dword [ebp - 0xcb8], edx
push 1
mov eax, dword [ebp - 0xcb8]
push eax
call fcn.004d72b3
add esp, 8
mov dword [ebp - 0xbd4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.00433420
jmp 0x451bbe
jmp 0x451acb
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.00406cd0
push eax
call fcn.0046f470
add esp, 0x10
mov dword [ebp - 0xcc0], eax
cmp dword [ebp - 0xcc0], 0
jge 0x451acb
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.00433420
jmp 0x451bbe
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x71c]
call fcn.00433420
jmp 0x451bb6
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00437780
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0xbfc], eax
cmp dword [ebp - 0xbfc], 0
jne 0x451b07
jmp 0x451bbe
mov eax, dword [ebp - 0xbfc]
push eax
call fcn.00437780
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0xc38], eax
cmp dword [ebp - 0xc38], 0
jne 0x451b3b
mov ecx, dword [ebp - 0xbfc]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x451bbe
mov edx, dword [ebp - 0xbfc]
push edx
call fcn.00437780
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0xbd0], eax
cmp dword [ebp - 0xbd0], 0
jne 0x451b5f
jmp 0x451bbe
push 0x58c7d0
mov eax, dword [ebp - 0xbd0]
push eax
call fcn.004d7a0d
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.00510d00
add esp, 0xc
mov edx, dword [ebp - 0xbfc]
push edx
call dword [sym.imp.KERNEL32.dll_FreeResource]
xor eax, eax
jne 0x451782
cmp dword [ebp - 0xbd4], 0
jne 0x451cc6
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 0x451bfb
jmp 0x451cc6
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 0x451c2b
mov eax, dword [ebp - 0xc00]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x451cc6
mov dword [ebp - 0xc3c], 0
push 0x58c7d0
mov ecx, dword [ebp - 0xbd0]
push ecx
call fcn.004d7a0d
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 0x451cbf
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0xccc]
push ecx
call fcn.004d72c1
add esp, 4
mov dword [ebp - 0xbd4], 0
jmp 0x451cc6
cmp dword [ebp - 0xbd4], 0
jne 0x451cf6
mov dword [ebp - 0xcd0], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.00433420
mov eax, dword [ebp - 0xcd0]
jmp 0x45280f
mov dword [ebp - 0xbe0], 0
lea ecx, [ebp - 0xc14]
call fcn.004eeec0
mov byte [ebp - 4], 6
mov byte [ebp - 0xbd5], 1
push 4
lea edx, [ebp - 0x9b0]
push edx
lea ecx, [ebp - 0x7a0]
call fcn.00434a10
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.00406cd0
push eax
push str..svg
call fcn.0051ac59
add esp, 8
test eax, eax
jne 0x451d69
mov dword [ebp - 0xc40], 1
jmp 0x451d73
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.00433420
movzx edx, byte [ebp - 0xbef]
test edx, edx
je 0x451eb8
mov eax, dword [ebp - 0xbd0]
push eax
mov ecx, dword [ebp - 0xbd4]
push ecx
lea edx, [ebp - 0xc04]
push edx
call fcn.004ef160
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xc04]
call fcn.00445a20
movzx eax, al
test eax, eax
je 0x451ea7
push 0
lea ecx, [ebp - 0xc04]
call fcn.00445a70
mov ecx, eax
call fcn.004ef150
call fcn.004d7f00
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00436c90
mov ecx, eax
call fcn.00434eb0
push eax
lea ecx, [ebp - 0xc04]
call fcn.00445a70
mov ecx, eax
call fcn.004ef830
call fcn.004d7f00
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00436c90
mov ecx, eax
call fcn.00434eb0
push eax
lea ecx, [ebp - 0xcf0]
push ecx
lea ecx, [ebp - 0xc04]
call fcn.00445a70
mov ecx, eax
call fcn.004ef500
mov dword [ebp - 0xc74], eax
mov edx, dword [ebp - 0xc74]
push edx
lea ecx, [ebp - 0xc14]
call fcn.004459c0
lea ecx, [ebp - 0xcf0]
call fcn.00445740
lea ecx, [ebp - 0xc14]
call fcn.004ef820
mov dword [ebp - 0xbe8], eax
lea ecx, [ebp - 0xc14]
call fcn.004ef140
mov dword [ebp - 0xbe4], eax
lea ecx, [ebp - 0xc14]
call fcn.00453c10
lea ecx, [ebp - 0xc14]
call fcn.004ef120
mov dword [ebp - 0xbe0], eax
mov byte [ebp - 0xbd5], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc04]
call fcn.00445690
jmp 0x451eeb
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.0047ea20
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.004d72c1
add esp, 4
cmp dword [ebp - 0xbe0], 0
jne 0x451f45
mov dword [ebp - 0xc7c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.00445740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.00433420
mov eax, dword [ebp - 0xc7c]
jmp 0x45280f
push 0x2c
push 0
lea ecx, [ebp - 0x654]
push ecx
call fcn.00511800
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 0x452026
mov dword [ebp - 0xc80], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.00445740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.00433420
mov eax, dword [ebp - 0xc80]
jmp 0x45280f
mov dword [ebp - 0xbcc], 0
jmp 0x452041
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 0x452219
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 0x452158
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 0x4521b6
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 0x452214
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 0x452032
movzx ecx, byte [ebp - 0xbd5]
test ecx, ecx
je 0x452233
mov edx, dword [ebp - 0xbe0]
push edx
call fcn.00413410
add esp, 4
mov dword [ebp - 0xc1c], 0x64
push 0
push 0x54d824
lea ecx, [ebp - 0x7a0]
call fcn.00433bb0
mov dword [ebp - 0xc70], eax
cmp dword [ebp - 0xc70], 0xffffffff
je 0x4522a9
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc70]
add eax, 3
push eax
lea ecx, [ebp - 0x8a8]
push ecx
lea ecx, [ebp - 0x7a0]
call fcn.004343c0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8a8]
call fcn.00406cd0
push eax
call fcn.0052227b
add esp, 4
mov dword [ebp - 0xc1c], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x8a8]
call fcn.00433420
mov ecx, dword [ebp + 0xc]
call fcn.00436c90
mov ecx, eax
call fcn.00434d00
mov dword [ebp - 0xc64], eax
mov edx, dword [ebp - 0xc1c]
cmp edx, dword [ebp - 0xc64]
je 0x452743
movzx eax, byte [ebp - 0xbd5]
test eax, eax
je 0x452743
mov ecx, dword [ebp + 0xc]
call fcn.00436c90
mov ecx, eax
call fcn.00434d00
mov dword [ebp - 0xc6c], eax
cvtsi2sd xmm0, dword [ebp - 0xc6c]
mov ecx, dword [ebp - 0xc6c]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x54d930]
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.00453bf0
add esp, 4
call fcn.004d7f00
mov dword [ebp - 0xbe8], eax
push ecx
movss xmm0, dword [ebp - 0xc88]
movss dword [esp], xmm0
call fcn.00453bf0
add esp, 4
call fcn.004d7f00
mov dword [ebp - 0xbe4], eax
cmp dword [ebp - 0xc64], 0xc8
jle 0x452669
movzx edx, byte [ebp + 8]
test edx, edx
je 0x452669
push 0x2c
push 0
lea eax, [ebp - 0x680]
push eax
call fcn.00511800
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 0x452478
mov dword [ebp - 0xc8c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.00445740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.00433420
mov eax, dword [ebp - 0xc8c]
jmp 0x45280f
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xc08], eax
cmp dword [ebp - 0xc08], 0
jne 0x4524d2
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.00445740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.00433420
mov eax, dword [ebp - 0xc90]
jmp 0x45280f
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.00445440
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0xbec]
push ecx
lea ecx, [ebp - 0xd68]
call fcn.0044ff50
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.00446fe0
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.00445440
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xc20]
push eax
lea ecx, [ebp - 0xd40]
call fcn.0044ff50
lea ecx, [ebp - 0xc58]
call fcn.00445300
mov byte [ebp - 4], 0xc
push 0
lea ecx, [ebp - 0xc58]
push ecx
lea ecx, [ebp - 0xd40]
call fcn.00446490
push 0
lea ecx, [ebp - 0xd40]
call fcn.00446790
lea ecx, [ebp - 0xc5c]
call fcn.00445320
mov byte [ebp - 4], 0xd
push 0
lea edx, [ebp - 0xc5c]
push edx
lea ecx, [ebp - 0xd40]
call fcn.00446490
lea ecx, [ebp - 0xd40]
call fcn.00446fa0
mov dword [ebp - 0xbec], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xc5c]
call fcn.004457c0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xc58]
call fcn.004457c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xd40]
call fcn.00445890
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xd68]
call fcn.00445890
jmp 0x452743
lea ecx, [ebp - 0xd18]
call fcn.00445440
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0xbec]
push eax
lea ecx, [ebp - 0xd18]
call fcn.0044ff50
push 0
mov ecx, dword [ebp - 0xbe4]
push ecx
mov edx, dword [ebp - 0xbe8]
push edx
lea ecx, [ebp - 0xd18]
call fcn.00453000
mov eax, dword [ebp - 0xbec]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
lea ecx, [ebp - 0xc54]
call fcn.00445300
mov byte [ebp - 4], 0xf
push 0
lea ecx, [ebp - 0xc54]
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00446490
lea ecx, [ebp - 0xc48]
call fcn.00445320
mov byte [ebp - 4], 0x10
push 0
lea ecx, [ebp - 0xd18]
call fcn.00446790
push 0
lea edx, [ebp - 0xc48]
push edx
lea ecx, [ebp - 0xd18]
call fcn.00446490
lea ecx, [ebp - 0xd18]
call fcn.00446fa0
mov dword [ebp - 0xbec], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xc48]
call fcn.004457c0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xc54]
call fcn.004457c0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xd18]
call fcn.00445890
push 0x58c7d0
push 0x98
call fcn.004d7e35
add esp, 8
mov dword [ebp - 0xc50], eax
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0xc50], 0
je 0x45277b
mov ecx, dword [ebp - 0xc50]
call fcn.00435840
mov dword [ebp - 0xc4c], eax
jmp 0x452785
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.00445740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a0]
call fcn.00433420
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.004d77de
mov esp, ebp
pop ebp
ret