Function at 0x430110
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c50cb
mov eax, dword fs:[0]
push eax
sub esp, 0xa18
mov eax, dword [0x624500]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov esi, ecx
mov dword [ebp - 0xa20], esi
push 0x208
lea eax, [ebp - 0x21c]
mov dword [ebp - 0xa24], esi
push 0
push eax
call fcn.0058dad0
mov eax, dword [ebp + 8]
add esp, 0xc
test eax, eax
je 0x430188
push eax
push edi
push 0x603840
lea eax, [ebp - 0x21c]
push 0x104
push eax
call fcn.00430f80
add esp, 0x14
jmp 0x4301a2
push edi
push 0x602d44
lea eax, [ebp - 0x21c]
push 0x104
push eax
call fcn.00430f80
add esp, 0x10
mov dword [esi], 0
call fcn.00405c3d
mov ecx, eax
test ecx, ecx
je case.0x430260.1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x21c]
mov dword [ebp - 4], 0
test eax, 0xffff0000
jne 0x430277
movzx edi, ax
mov ecx, edi
call fcn.004098b0
mov ebx, eax
test ebx, ebx
je 0x4303a7
mov eax, edi
shr eax, 4
push 6
inc eax
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x4303a7
push edi
push eax
push ebx
call fcn.00409910
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x4303a7
mov eax, dword [esi]
mov ecx, 1
movzx edx, word [ebx]
mov edi, edx
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edi
or eax, ecx
jge 0x43023d
push edi
mov ecx, esi
call fcn.0040595f
movzx edx, word [ebx]
movzx ecx, dx
lea eax, [ebx + 2]
push ecx
push eax
push edi
push dword [esi]
call fcn.00594fab
add esp, 0x10
cmp eax, 0x50
ja case.0x430260.1
movzx eax, byte [eax + 0x43045c]
jmp dword [eax*4 + 0x43044c]
mov eax, dword [esi]
cmp edi, dword [eax - 8]
jg case.0x430260.20
jmp 0x43039c
push eax
call fcn.00594f90
mov edi, eax
add esp, 4
test edi, edi
jne 0x4302f1
mov byte [ebp - 4], 1
mov ecx, dword [esi]
lea edx, [ecx - 0x10]
mov ebx, dword [edx]
cmp dword [edx + 4], eax
je 0x4303a7
mov eax, dword [edx + 0xc]
lea edi, [edx + 0xc]
shr eax, 0x1f
test al, al
je 0x4302c4
cmp dword [ecx - 8], 0
jl 0x430437
mov dword [ecx - 0xc], 0
xor ecx, ecx
mov eax, dword [esi]
mov word [eax], cx
jmp 0x4303a7
mov byte [ebp - 4], 2
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4302dc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
jmp 0x4303a7
mov eax, dword [esi]
lea ebx, [ebp - 0x21c]
sub ebx, eax
sar ebx, 1
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0xa20], ecx
test edi, edi
js 0x430441
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edi
or ecx, eax
jge 0x430327
push edi
mov ecx, esi
call fcn.0040595f
mov ecx, dword [esi]
cmp ebx, dword [ebp - 0xa20]
ja 0x43037d
mov eax, dword [ecx - 8]
lea edx, [edi + edi]
lea ebx, [ecx + ebx*2]
test edx, edx
je 0x430391
test ecx, ecx
jne 0x430354
call fcn.00591718
mov dword [eax], 0x16
call fcn.0059163f
jmp 0x430391
test ebx, ebx
je 0x430342
add eax, eax
cmp eax, edx
jae 0x430370
call fcn.00591718
mov dword [eax], 0x22
call fcn.0059163f
jmp 0x430391
push edx
push ebx
push ecx
call fcn.0058d520
add esp, 0xc
jmp 0x430391
push edi
lea eax, [ebp - 0x21c]
push eax
push dword [ecx - 8]
push ecx
call fcn.00405d4d
add esp, 0x10
mov eax, dword [esi]
cmp edi, dword [eax - 8]
jg case.0x430260.20
mov dword [eax - 0xc], edi
xor ecx, ecx
mov eax, dword [esi]
mov word [eax + edi*2], cx
mov eax, dword [0x5fd7e0]
mov dword [ebp - 0xa1c], eax
mov eax, dword [0x5fd7e4]
push 0x7f8
mov dword [ebp - 0xa18], eax
lea eax, [ebp - 0xa14]
push 0
push eax
call fcn.0058dad0
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0xa16]
push str._szObjectName___s
push eax
call fcn.0040988e
add esp, 0xc
lea eax, [ebp - 0xa1c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0053a175
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00405d25
push 0x8007000e
call fcn.00405d25
push 0x80070057
call fcn.00405d25
push 0x80070057
call fcn.00405d25
push 0x80070057
call fcn.00405d25
nop
add al, byte [bp + di]
and eax, dword [ebx + eax*2]
add byte [419447556], ch
add al, 0x43
add byte [eax], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
int3