Function at 0x433940
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e1b51
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x524a60]
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
mov ecx, dword [ebp + 8]
mov eax, ecx
and eax, dword [0x52a9bc]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x128], edi
cmp eax, ecx
jne 0x433ca7
call fcn.004045a0
mov ecx, eax
test ecx, ecx
je 0x433cc3
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x120], esi
mov dword [ebp - 4], 0
test ebx, ebx
je 0x433ccd
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x118], eax
call fcn.00409240
push edi
push 0
push ebx
mov ecx, dword [eax]
push 0
push 0
push dword [eax + 4]
or ecx, 2
mov dword [ebp - 0x11c], eax
push ecx
call fcn.004b79fd
mov ebx, eax
add esp, 0x1c
or eax, 0xffffffff
test ebx, ebx
cmovs ebx, eax
test ebx, ebx
js 0x433cd7
mov edi, dword [ebp - 0x118]
add edi, ebx
js 0x433ce1
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x433a35
push edi
lea ecx, [ebp - 0x120]
call fcn.0040ace0
mov esi, dword [ebp - 0x120]
push dword [ebp - 0x128]
lea eax, [ebx + 1]
push 0
push dword [ebp - 0x124]
push eax
mov eax, dword [ebp - 0x118]
add eax, esi
push eax
mov eax, dword [ebp - 0x11c]
push dword [eax + 4]
push dword [eax]
call fcn.004b7a21
add esp, 0x1c
test edi, edi
js 0x433ccd
cmp edi, dword [esi - 8]
jg 0x433ccd
mov dword [esi - 0xc], edi
mov eax, 0x4f079c
sub eax, esi
mov byte [edi + esi], 0
mov ebx, dword [esi - 0xc]
push 2
push 0x4f079c
mov dword [ebp - 0x124], eax
call fcn.004b7afc
mov edx, eax
mov ecx, Ordinal_1
sub ecx, edx
mov dword [ebp - 0x11c], edx
add esp, 8
cmp ecx, ebx
jl 0x433ceb
lea edi, [ebx + edx]
test edi, edi
js 0x433cf5
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x433ae5
push edi
lea ecx, [ebp - 0x120]
call fcn.0040ace0
mov esi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x124]
cmp eax, ebx
ja 0x433af3
add eax, esi
jmp 0x433af8
mov eax, 0x4f079c
push edx
push eax
push edx
lea eax, [ebx + esi]
push eax
call fcn.004062f0
add esp, 0x10
cmp edi, dword [esi - 8]
jg 0x433ccd
mov dword [esi - 0xc], edi
mov byte [edi + esi], 0
test byte [0x5245c4], 1
je 0x433c61
mov ecx, esi
lea eax, [ebp - 0x110]
mov dword [ebp - 0x114], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433b35
sub ecx, edx
lea eax, [ebp - 0x110]
push 0x80
push eax
lea eax, [ebp - 0x114]
lea edi, [ecx + 1]
push edi
push eax
mov dword [ebp - 0x11c], edi
call fcn.00433460
add esp, 0x10
push edi
push dword [ebp - 0x114]
push edi
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor ebx, ebx
test eax, eax
sete bl
test eax, eax
jne 0x433bd7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x433bd7
mov ebx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push edi
push esi
push 0
push 0
call ebx
mov edi, eax
lea eax, [ebp - 0x110]
push 0x80
push eax
lea eax, [ebp - 0x114]
push edi
push eax
call fcn.00433460
add esp, 0x10
push edi
push dword [ebp - 0x114]
push dword [ebp - 0x11c]
push esi
push 0
push 0
call ebx
mov ebx, eax
neg ebx
sbb ebx, ebx
inc ebx
test ebx, ebx
jne 0x433cff
push dword [ebp - 0x114]
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 1
call fcn.00403650
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 3
cmp eax, ecx
je 0x433c11
push eax
call fcn.004b3fc9
add esp, 4
lea eax, [ebp - 0x118]
push eax
push dword [ebp - 0x12c]
call fcn.00433610
add esp, 4
mov ecx, 0x52a9c4
push eax
call fcn.0043bb00
mov ecx, 0x52a9c4
call fcn.0043bd90
mov edx, dword [ebp - 0x118]
or ebx, 0xffffffff
mov byte [ebp - 4], 0
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x433c64
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x433c64
or ebx, 0xffffffff
test byte [0x5245c4], 2
je 0x433c74
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test byte [0x5245c4], 4
je 0x433c8b
push esi
push 0x4f07a0
call fcn.00433e90
add esp, 8
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x433ca7
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
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.004a1588
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403f90
push 0x80070057
call fcn.00403f90
push 0x80004005
call fcn.00403f90
push 0x80070057
call fcn.00403f90
push 0x80070057
call fcn.00403f90
push 0x80070057
call fcn.00403f90
push 0x80
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x114]
call fcn.004334e0
add esp, 0xc
call fcn.004335f0
int3