Function at 0x43d2d0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x546b7c
mov eax, dword fs:[0]
push eax
sub esp, 0x618
mov eax, dword [0x595534]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movups xmm0, xmmword [ebp + 0x20]
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x18]
mov ecx, edi
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x620], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x624], eax
mov eax, dword [ebp + 0x14]
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x610], eax
movups xmm0, xmmword [ebp + 0x30]
mov eax, dword [ebp + 0x50]
mov dword [ebp - 0x60c], eax
mov al, byte [ebp + 0x5c]
movups xmmword [ebp - 0x20], xmm0
mov byte [ebp - 0x5dd], al
movups xmm0, xmmword [ebp + 0x40]
mov byte [ebp - 0x604], al
mov eax, dword [ebp + 0x6c]
mov dword [ebp - 0x5ec], ebx
mov dword [ebp - 0x5e8], edi
mov dword [ebp - 0x61c], esi
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x608], eax
call fcn.0042a030
test al, al
jne 0x43d8c1
push 0
push 0x54e2f0
mov ecx, edi
call fcn.00429b40
cmp eax, 0xffffffff
setne al
test al, al
je 0x43db09
mov ecx, edi
mov byte [ebp - 0x5dd], 0
call fcn.00429da0
push eax
mov ecx, ebx
call fcn.0042f060
mov ebx, eax
mov dword [ebp - 0x5fc], ebx
test ebx, ebx
jne 0x43dbda
xor esi, esi
mov dword [ebp - 0x5f4], esi
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x604], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 4], esi
mov dword [ebp - 0x618], eax
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], esi
mov byte [ebp - 0x48], bl
mov byte [ebp - 4], 1
call fcn.0042f380
push eax
lea ecx, [ebp - 0x220]
call fcn.00429450
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 2
call fcn.004294b0
mov byte [ebp - 4], 3
call fcn.0042f390
mov ecx, eax
call fcn.0042a030
test al, al
jne 0x43d6d9
mov dword [ebp - 0x5e4], esi
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.00429450
mov byte [ebp - 4], 4
call fcn.0042f390
push eax
lea ecx, [ebp - 0x2a4]
call fcn.004297f0
call fcn.0042f3b0
push eax
lea ecx, [ebp - 0x3ac]
call fcn.00429450
mov byte [ebp - 4], 5
call fcn.0042f6e0
test al, al
je 0x43d481
call fcn.0042f3a0
mov edi, eax
jmp 0x43d4bd
push 0
lea ecx, [ebp - 0x3ac]
call fcn.00429da0
push eax
call fcn.00435750
add esp, 8
lea ecx, [ebp - 0x2a4]
mov ebx, eax
push ebx
call fcn.00429da0
push eax
call fcn.00454700
add esp, 8
mov edi, eax
test ebx, ebx
je 0x43d4bd
push ebx
call fcn.004ffccb
add esp, 4
test edi, edi
je 0x43d6ab
push dword [ebp - 0x5e8]
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x5f8], 0
call fcn.00429450
push 0x57f2d8
push 0x57d880
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 6
call fcn.0042a280
lea eax, [ebp - 0x5dc]
push eax
lea eax, [ebp - 0x5f8]
push eax
push 1
lea ecx, [ebp - 0x328]
call fcn.00429da0
push eax
push edi
call fcn.00453fc0
add esp, 0x14
test eax, eax
jne 0x43d6a0
mov ebx, dword [ebp - 0x3b0]
test ebx, ebx
je 0x43d6a0
push ebx
call fcn.0050000c
push ebx
push eax
push dword [ebp - 0x5f8]
mov dword [ebp - 0x5f0], eax
push edi
call fcn.00454c50
add esp, 0x14
test eax, eax
je 0x43d560
cmp eax, 0x600
jne 0x43d680
call fcn.0042f6e0
test al, al
jne 0x43d572
push edi
call fcn.00453ce0
add esp, 4
push ebx
push dword [ebp - 0x5f0]
lea eax, [ebp - 0x614]
push eax
call fcn.00461a70
lea ecx, [ebp - 0x5f4]
add esp, 0xc
cmp ecx, eax
je 0x43d5ba
mov ecx, dword [eax]
mov edi, esi
mov dword [eax], 0
mov esi, ecx
mov dword [ebp - 0x5f4], esi
test edi, edi
je 0x43d5ba
mov ecx, edi
call fcn.00460e20
push 0x10
push edi
call fcn.004ff9ff
add esp, 8
mov edi, dword [ebp - 0x614]
test edi, edi
je 0x43d5d6
mov ecx, edi
call fcn.00460e20
push 0x10
push edi
call fcn.004ff9ff
add esp, 8
test esi, esi
jne 0x43d63b
cmp dword [ebp - 0x5e4], esi
jne 0x43d63b
lea ecx, [ebp - 0x118]
call fcn.004294b0
mov ecx, dword [ebp - 0x5e8]
mov byte [ebp - 4], 7
call fcn.00429da0
push eax
lea eax, [ebp - 0x118]
push str._n__s_
push eax
call fcn.00429cf0
add esp, 0xc
lea ecx, [ebp - 0x118]
call fcn.00429da0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ebx, 1
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x5e4], ebx
call fcn.004295e0
jmp 0x43d643
xor ebx, ebx
mov dword [ebp - 0x5e4], ebx
push dword [ebp - 0x5f0]
call fcn.004ffccb
add esp, 4
lea ecx, [ebp - 0x328]
call fcn.004295e0
lea ecx, [ebp - 0x3ac]
call fcn.004295e0
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 3
call fcn.004295e0
test ebx, ebx
jne 0x43d433
jmp 0x43d6c5
push dword [ebp - 0x5f0]
call fcn.004ffccb
add esp, 4
call fcn.0042f6e0
test al, al
jne 0x43d6a0
push edi
call fcn.00453ce0
add esp, 4
lea ecx, [ebp - 0x328]
call fcn.004295e0
lea ecx, [ebp - 0x3ac]
call fcn.004295e0
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 3
call fcn.004295e0
mov edi, dword [ebp - 0x5e8]
test esi, esi
jne 0x43d7c1
mov ebx, dword [ebp - 0x5fc]
mov ecx, edi
call fcn.00429da0
push eax
lea ecx, [ebp - 0x220]
call fcn.00429da0
push eax
lea eax, [ebp - 0x19c]
push 0x54e454
push eax
call fcn.00429cf0
add esp, 0x10
lea ecx, [ebp - 0x19c]
call fcn.00429da0
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
mov dword [ebp - 0x614], eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x5fc], eax
test eax, eax
je 0x43d778
lea ecx, [eax + 1]
push ecx
call fcn.0050000c
mov esi, eax
add esp, 4
test esi, esi
je 0x43d778
push 0
push 0
push dword [ebp - 0x5fc]
push esi
push 0xffffffffffffffff
push dword [ebp - 0x614]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
lea ecx, [ebp - 0x48]
call fcn.0040a3e0
push esi
call fcn.004ffccb
add esp, 4
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x5fc]
push eax
call fcn.00461b60
add esp, 8
lea ecx, [ebp - 0x5f4]
push eax
call fcn.00439030
mov esi, dword [ebp - 0x5fc]
test esi, esi
je 0x43d7b3
mov ecx, esi
call fcn.00460e20
push 0x10
push esi
call fcn.004ff9ff
add esp, 8
mov esi, dword [ebp - 0x5f4]
test esi, esi
je 0x43d982
push 0
push dword [ebp - 0x618]
lea eax, [ebp - 0x600]
mov ecx, esi
push dword [ebp - 0x604]
push eax
call fcn.00461ec0
lea ecx, [ebp - 0x600]
mov byte [ebp - 4], 8
call fcn.004615f0
lea ecx, [ebp - 0x600]
mov dword [ebp - 0x604], eax
call fcn.00462150
mov ebx, eax
lea ecx, [ebp - 0x600]
mov dword [ebp - 0x5f0], ebx
call fcn.00461a30
push 0x2c
mov dword [ebp - 0x5f8], eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.004fb6e0
mov ecx, dword [ebp - 0x5f8]
add esp, 0xc
mov dword [ebp - 0x70], ebx
neg ecx
mov ebx, dword [ebp - 0x5f8]
imul ebx, dword [ebp - 0x5f0]
push 0
push 0
mov dword [ebp - 0x74], 0x28
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], 0x200001
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x5e4], 0
lea eax, [ebx*4]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x5e4]
push eax
push 0
lea eax, [ebp - 0x74]
push eax
push 0
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [ebp - 0x618], eax
test eax, eax
jne 0x43d8c8
lea ecx, [ebp - 0x600]
call fcn.00438fc0
lea ecx, [ebp - 0x19c]
call fcn.004295e0
lea ecx, [ebp - 0x220]
call fcn.004295e0
lea ecx, [ebp - 0x48]
call fcn.004047c0
lea ecx, [ebp - 0x5f4]
call fcn.00438fa0
xor al, al
jmp 0x43dcce
xor edx, edx
test ebx, ebx
jle 0x43d925
mov edi, dword [ebp - 0x604]
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [ebp - 0x5e4]
movzx ecx, byte [edi + edx*4]
mov byte [eax + edx*4], cl
mov eax, dword [ebp - 0x5e4]
movzx ecx, byte [edi + edx*4 + 1]
mov byte [eax + edx*4 + 1], cl
mov eax, dword [ebp - 0x5e4]
movzx ecx, byte [edi + edx*4 + 2]
mov byte [eax + edx*4 + 2], cl
mov eax, dword [ebp - 0x5e4]
movzx ecx, byte [edi + edx*4 + 3]
mov byte [eax + edx*4 + 3], cl
inc edx
cmp edx, ebx
jl 0x43d8e0
mov edi, dword [ebp - 0x5e8]
mov eax, dword [ebp - 0x5f8]
mov ecx, edi
push 0
push 1
push eax
push dword [ebp - 0x5f0]
push dword [ebp - 0x618]
call fcn.00429da0
mov ecx, dword [ebp - 0x5ec]
push eax
call fcn.0042e3d0
mov edi, dword [ebp - 0x5fc]
mov ebx, eax
test edi, edi
je 0x43d97c
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x43d97c
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x43d97c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x5e8]
lea ecx, [ebp - 0x19c]
call fcn.004295e0
lea ecx, [ebp - 0x220]
call fcn.004295e0
mov eax, dword [ebp - 0x34]
cmp eax, 0x10
jb 0x43d9ad
inc eax
lea ecx, [ebp - 0x48]
push eax
push dword [ebp - 0x48]
call fcn.00404af0
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x43d9dc
mov ecx, esi
call fcn.00460e20
push 0x10
push esi
call fcn.004ff9ff
add esp, 8
test ebx, ebx
jne 0x43dbda
mov ebx, dword [ebp - 0x5ec]
test ebx, ebx
je 0x43dab7
push 0xffffffffffffffff
push 0x54e30c
lea ecx, [ebp - 0x220]
call fcn.00429480
mov ecx, ebx
mov dword [ebp - 4], 9
call fcn.0042e970
mov ecx, eax
call fcn.00450670
cmp eax, 0x64
je 0x43da2e
push str._2x.png
lea ecx, [ebp - 0x220]
call fcn.00429690
push edi
lea ecx, [ebp - 0x118]
call fcn.00429450
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0xa
call fcn.00429da0
push eax
push 0x54e2f0
lea ecx, [ebp - 0x118]
call fcn.0042a280
mov esi, dword [ebp - 0x61c]
mov ecx, esi
call fcn.0042a030
test al, al
je 0x43da6f
xor eax, eax
jmp 0x43da76
mov ecx, esi
call fcn.00429da0
push dword [ebp - 0x608]
lea ecx, [ebp - 0x118]
push 0
push 0
push dword [ebp - 0x60c]
push eax
call fcn.00429da0
push eax
mov ecx, ebx
call fcn.0042f090
lea ecx, [ebp - 0x118]
call fcn.004295e0
lea ecx, [ebp - 0x220]
mov dword [ebp - 4], 0xffffffff
call fcn.004295e0
lea ecx, [ebp - 0x118]
call fcn.004294b0
mov ecx, edi
mov dword [ebp - 4], 0xb
call fcn.00429da0
push eax
lea eax, [ebp - 0x118]
push str._n__s__svgpng_n
push eax
call fcn.00429cf0
add esp, 0xc
lea ecx, [ebp - 0x118]
call fcn.00429da0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x118]
call fcn.004295e0
xor al, al
jmp 0x43dcce
mov ecx, esi
call fcn.0042a030
test al, al
je 0x43db18
xor eax, eax
jmp 0x43db1f
mov ecx, esi
call fcn.00429da0
push dword [ebp - 0x608]
mov esi, dword [ebp - 0x604]
mov ecx, edi
push esi
push 0
push dword [ebp - 0x60c]
push eax
call fcn.00429da0
push eax
mov ecx, ebx
call fcn.0042f090
mov ebx, eax
test ebx, ebx
jne 0x43dbda
push edi
lea ecx, [ebp - 0x19c]
call fcn.00429450
push str._2x.png
push 0x54e30c
lea ecx, [ebp - 0x19c]
mov dword [ebp - 4], 0xc
call fcn.0042a280
mov ebx, dword [ebp - 0x61c]
mov ecx, ebx
call fcn.0042a030
test al, al
je 0x43db8b
xor eax, eax
jmp 0x43db92
mov ecx, ebx
call fcn.00429da0
push dword [ebp - 0x608]
lea ecx, [ebp - 0x19c]
push esi
push 0
push dword [ebp - 0x60c]
push eax
call fcn.00429da0
mov edi, dword [ebp - 0x5ec]
mov ecx, edi
push eax
call fcn.0042f090
lea ecx, [ebp - 0x19c]
mov dword [ebp - 4], 0xffffffff
mov ebx, eax
call fcn.004295e0
test ebx, ebx
jne 0x43dbe0
xor al, al
jmp 0x43dcce
mov edi, dword [ebp - 0x5ec]
cmp dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x18]
jne 0x43dc01
test edx, edx
jne 0x43dc01
cmp dword [ebp - 0x1c], edx
jne 0x43dc01
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x43dc04
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
jmp 0x43dc04
mov ecx, dword [ebp - 0x14]
cmp edx, dword [ebx + 0x10]
lea eax, [ebp - 0x30]
push dword [ebp - 0x624]
cmovg edx, dword [ebx + 0x10]
cmp ecx, dword [ebx + 0x14]
mov esi, dword [sym.imp.USER32.dll_IntersectRect]
cmovg ecx, dword [ebx + 0x14]
push eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x18], edx
push eax
mov dword [ebp - 0x14], ecx
call esi
test eax, eax
je 0x43dccc
push dword [ebp - 0x610]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x84]
push eax
call esi
test eax, eax
je 0x43dccc
mov ecx, edi
call fcn.0042f700
cmp byte [ebp - 0x5dd], 0
je 0x43dc90
test al, al
mov al, 1
jne 0x43dc69
mov al, byte [ebx + 0x18]
push dword [ebp + 0x58]
push dword [ebp + 0x54]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x610]
lea eax, [ebp - 0x30]
push eax
push dword [ebx]
push dword [ebp - 0x620]
call fcn.0043e450
add esp, 0x20
jmp 0x43dccc
test al, al
mov al, 1
jne 0x43dc99
mov al, byte [ebx + 0x18]
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push dword [ebp + 0x60]
push dword [ebp + 0x54]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x610]
lea eax, [ebp - 0x30]
push eax
push dword [ebx + 4]
push dword [ebp - 0x620]
call fcn.0043c180
add esp, 0x2c
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ff9ee
mov esp, ebp
pop ebp
ret