Function at 0x42d940
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x464310
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x485220]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov eax, dword [0x485220]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, edx
mov edi, ecx
call fcn.0043a0f0
mov ecx, esi
call fcn.0043b300
push 0x4722a8
push 0x473b18
push 0x473b68
mov ecx, 0x489bd8
call fcn.0043f4d0
push 0x4722a8
push 0x470438
push 0x470488
mov ecx, 0x489be0
call fcn.0043f4d0
push 0x4722c4
push 0x470510
push 0x470560
mov ecx, 0x489be8
call fcn.0043f4d0
push 0x4722d8
push 0x472300
push 0x472350
mov ecx, 0x489bf0
call fcn.0043f4d0
cmp word [0x489bc8], 0
jne 0x42da56
cmp dword [0x489aac], 0
jne 0x42da56
push 0x473bb8
lea eax, [esp + 0x14]
push eax
call fcn.00418f50
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
je 0x42da31
push eax
mov ecx, 0x489bc8
call fcn.0043f240
mov eax, dword [esp + 0x10]
lea edx, [eax - 0x10]
mov dword [esp + 0x80], 0xffffffff
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42da56
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [0x489bb8], 0
jne 0x42dac1
cmp dword [0x489aa8], 0
jne 0x42dac1
push 0x46de78
lea eax, [esp + 0x14]
push eax
call fcn.00418f50
mov dword [esp + 0x80], 1
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
je 0x42da9c
push eax
mov ecx, 0x489bb8
call fcn.0043f240
mov eax, dword [esp + 0x10]
lea edx, [eax - 0x10]
mov dword [esp + 0x80], 0xffffffff
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42dac1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [0x489bc0], 0
jne 0x42db2c
cmp dword [0x489aa4], 0
jne 0x42db2c
push 0x46dec8
lea eax, [esp + 0x14]
push eax
call fcn.00418f50
mov dword [esp + 0x80], 2
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
je 0x42db07
push eax
mov ecx, 0x489bc0
call fcn.0043f240
mov eax, dword [esp + 0x10]
lea edx, [eax - 0x10]
mov dword [esp + 0x80], 0xffffffff
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42db2c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [0x489a98], 0
jne 0x42db8a
cmp word [0x489be0], 0
jne 0x42db6d
cmp word [0x489be8], 0
jne 0x42db6d
cmp word [0x489bf0], 0
jne 0x42db6d
mov eax, dword [0x489bf8]
cmp dword [eax - 0xc], 0
jne 0x42db6d
mov ecx, dword [0x489ab4]
xor eax, eax
mov dword [0x489a78], eax
jmp 0x42db77
mov eax, dword [0x489a78]
mov ecx, 1
xor edx, edx
cmp dword [0x489a8c], edx
cmovne ecx, edx
mov dword [0x489ab4], ecx
jmp 0x42db8f
mov eax, dword [0x489a78]
cmp word [0x489bc0], 0
je 0x42dbb3
cmp word [0x489bb8], 0
jne 0x42dbb3
xor ebx, ebx
test eax, eax
setne bl
lea ebx, [ebx*4 + 0x44e]
jmp 0x42dbbd
xor ebx, ebx
test eax, eax
setne bl
add ebx, 0x70
push 0x11
push 0x4716e0
mov ecx, 0x489c04
call fcn.00405620
mov eax, dword [0x489a3c]
lea eax, [eax + eax*8]
movzx eax, word [eax*4 + 0x4865f0]
push eax
push ebx
push ecx
mov ecx, 0x489c04
call fcn.004172c0
test eax, eax
jne 0x42dc03
movzx eax, word [0x4865f0]
push eax
push ebx
push ecx
mov ecx, 0x489c04
call fcn.004172c0
push 0x16
push 0x473bd8
mov ecx, 0x489c00
call fcn.00405620
mov eax, dword [0x489bf8]
mov dword [0x489a38], edi
mov ecx, dword [eax - 0xc]
test ecx, ecx
je 0x42dc9f
mov eax, dword [0x489b78]
cmp dword [eax - 0xc], 0
jne 0x42dc4d
push 0x30
push dword [0x489c04]
push 0x473c08
push 0
call dword [0x4673b4]
xor eax, eax
jmp 0x42e048
test ecx, ecx
je 0x42dc9f
cmp dword [0x4865e0], 0
jne 0x42dc76
push 0x30
push dword [0x489c04]
push 0x473c78
push 0
call dword [0x4673b4]
xor eax, eax
jmp 0x42e048
test ecx, ecx
je 0x42dc9f
cmp dword [0x489a78], 0
je 0x42dcac
push 0x30
push dword [0x489c04]
push 0x473cf0
push 0
call dword [0x4673b4]
xor eax, eax
jmp 0x42e048
cmp dword [0x489a78], 0
jne 0x42e014
cmp word [0x489be8], 0
jne 0x42dd81
cmp word [0x489bc0], 0
je 0x42dd81
lea ecx, [esp + 0x10]
call fcn.00405a50
lea ecx, [esp + 0x10]
mov dword [esp + 0x80], 3
call fcn.0042b960
mov dword [0x489aa0], eax
test eax, eax
je 0x42dd58
sub esp, 8
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
push 0x102
push 0
push ecx
push 0x473d58
push 0x80000002
lea ecx, [esp + 0x3c]
call fcn.0042ea70
push 4
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0
push eax
push 4
push 0
push 0x46e110
push dword [esp + 0x34]
call dword [0x467068]
lea ecx, [esp + 0x20]
call fcn.00405330
lea ecx, [esp + 0x20]
call fcn.00405360
mov dword [esp + 0x80], 0xffffffff
or ecx, 0xffffffff
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42dd81
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [0x489a78], 0
jne 0x42e014
cmp dword [0x489a74], 0
jne 0x42e014
cmp word [0x489bb8], 0
je 0x42e014
lea ecx, [esp + 0x34]
call fcn.0040b1e0
mov dword [esp + 0x80], 4
lea ecx, [esp + 0x20]
push 0x489ba8
mov dword [esp + 0x14], 0
call fcn.0042e1b0
push 0
mov byte [esp + 0x84], 5
push 0
mov dword [esp + 0x24], 0
call fcn.00419630
mov dword [esp + 0x18], eax
mov byte [esp + 0x80], 6
lea edi, [esp + 0x44]
mov ebx, 0xb
mov eax, dword [edi]
sub eax, 0x10
push eax
call fcn.00405190
add esp, 4
lea esi, [eax + 0x10]
mov dword [esp + 0x14], esi
mov byte [esp + 0x80], 7
lea ecx, [esp + 0x30]
mov eax, dword [esp + 0x20]
mov edx, edi
mov byte [esp + 0x2c], 0
push dword [esp + 0x2c]
push eax
push dword [eax]
call fcn.0042e920
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp eax, dword [esp + 0x20]
je 0x42de50
push edi
lea ecx, [esp + 0x1c]
call fcn.0042e250
add esi, 0xfffffff0
mov byte [esp + 0x80], 6
or ecx, 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42de72
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 4
dec ebx
jne 0x42de01
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx]
cmp esi, ebx
je 0x42df7f
jmp 0x42de90
mov eax, dword [esi + 8]
mov ecx, 0x46f798
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42debe
test dx, dx
je 0x42deba
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42debe
add eax, 4
add ecx, 4
test dx, dx
jne 0x42de98
xor eax, eax
jmp 0x42dec3
sbb eax, eax
or eax, 1
test eax, eax
sete al
test al, al
je 0x42df4f
call fcn.0042b1a0
test eax, eax
jne 0x42df4f
mov eax, dword [0x4867d0]
test eax, eax
je 0x42def1
cmp dword [eax + 8], 0x443
je 0x42df4f
mov eax, dword [eax]
test eax, eax
jne 0x42dee2
mov eax, dword [esi + 8]
push ecx
sub eax, 0x10
mov edi, esp
push eax
call fcn.00405190
add esp, 4
lea ecx, [esp + 0x38]
add eax, 0x10
mov dword [edi], eax
call fcn.0040b400
test al, al
jne 0x42df4f
mov ebx, dword [esp + 0x10]
cmp ebx, 3
jge 0x42df4b
push ecx
call fcn.0042e540
mov eax, dword [esi + 8]
push 1
push ecx
sub eax, 0x10
mov edi, esp
push eax
call fcn.00405190
add esp, 4
lea ecx, [esp + 0x3c]
add eax, 0x10
mov dword [edi], eax
call fcn.0040b480
inc ebx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x18]
cmp dword [0x4867d8], 1
jbe 0x42df75
mov ecx, dword [0x4867d0]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x42e066
mov eax, dword [ecx + 8]
mov dword [0x489a70], eax
mov esi, dword [esi]
cmp esi, ebx
jne 0x42de90
lea ecx, [esp + 0x18]
call fcn.00419240
push dword [esp + 0x18]
call fcn.00445aa5
add esp, 4
lea ecx, [esp + 0x20]
call fcn.00419240
push dword [esp + 0x20]
call fcn.00445aa5
add esp, 4
push fcn.00405a80
push 0xb
push 4
lea eax, [esp + 0x50]
mov dword [esp + 0x8c], 9
push eax
call fcn.00447347
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x3c]
push eax
push dword [eax]
lea eax, [esp + 0x1c]
push eax
call fcn.0040b7b0
push dword [esp + 0x3c]
call fcn.00445aa5
add esp, 4
mov dword [esp + 0x80], 0xffffffff
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x34]
push eax
push dword [eax]
lea eax, [esp + 0x1c]
push eax
call fcn.0040b670
push dword [esp + 0x34]
call fcn.00445aa5
add esp, 4
cmp dword [0x489a98], 0
je 0x42e043
cmp byte [0x489b84], 0
je 0x42e043
call fcn.0043bb20
cmp dword [0x489a78], 0
je 0x42e043
cmp word [0x489bb8], 0
je 0x42e043
call fcn.0043bef0
mov eax, 1
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00445aaa
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00405730
int3