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

Disassembly:
push 0xffffffffffffffff
push 0x4567a8
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46bd84]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov esi, ecx
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov eax, dword [edi + 8]
mov dword [esp + 0x30], eax
cmp eax, 1
jne 0x42c991
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
call fcn.0042d67b
xor ecx, ecx
xor ebx, ebx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x42c9ad
push 0x80004005
call fcn.00401f60
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
push 0xa
lea ecx, [esp + 0x4c]
mov dword [esp + 0x70], ebx
call fcn.0042f670
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x30]
push edx
push edi
push ebp
mov byte [esp + 0x7c], 1
call fcn.0042c620
add esp, 0x10
call fcn.0042d67b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x42c9ff
push 0x80004005
call fcn.00401f60
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x6c], 2
mov ecx, dword [esi]
mov eax, dword [ecx - 0xc]
cmp eax, ebx
je 0x42cae5
push 2
push esi
push edi
call fcn.0042bf80
add esp, 0xc
cmp eax, 0xffffffff
je 0x42cae5
cmp eax, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], 0x3a
jl 0x42caff
cmp eax, dword [edi + 8]
jge 0x42caff
mov edx, dword [edi + 4]
lea esi, [edx + eax*4]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edi, [esp + 0x24]
call fcn.0041f530
add esp, 8
mov bl, 3
mov byte [esp + 0x6c], bl
mov ecx, dword [esp + 0x28]
mov eax, 0x461c0c
mov esi, ebp
lea edi, [esp + 0x24]
call fcn.004219b0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x70], 4
call fcn.0040f0a0
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42cabc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 2
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42cae1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x78]
xor eax, eax
cmp dword [esp + 0x30], eax
mov dword [esp + 0x1c], eax
jle 0x42ceb7
mov dword [esp + 0x34], 0x3a
jmp 0x42cb14
call fcn.0042d54b
jmp 0x42cb10
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], 0
test eax, eax
jl 0x42caff
cmp eax, dword [edi + 8]
jge 0x42caff
mov esi, dword [edi + 4]
lea ecx, [esp + 0x34]
lea ebp, [eax*4]
push ecx
lea edx, [esp + 0x1c]
add esi, ebp
push edx
lea edi, [esp + 0x2c]
call fcn.0041f530
add esp, 8
mov byte [esp + 0x6c], 5
call fcn.0042d67b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42c9a3
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov bl, 6
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x18]
mov ecx, str.ORGB
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42cba6
test dx, dx
je 0x42cba2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42cba6
add eax, 4
add ecx, 4
test dx, dx
jne 0x42cb80
xor eax, eax
jmp 0x42cbab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x42cc1b
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.00419670
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 7
call fcn.0040f0a0
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42cbf9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jne 0x42cc1b
mov edx, dword [esp + 0x20]
cmp dword [edx - 0xc], 0
je 0x42cc1b
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
call fcn.0040f0a0
mov eax, dword [esp + 0x18]
mov ecx, 0x461b84
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42cc4a
test dx, dx
je 0x42cc46
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42cc4a
add eax, 4
add ecx, 4
test dx, dx
jne 0x42cc24
xor eax, eax
jmp 0x42cc4f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x42cc98
lea ecx, [esp + 0x3c]
push ecx
call fcn.00419ac0
add esp, 4
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 8
call fcn.0040f0a0
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42cc98
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
je 0x42ce56
lea edx, [esp + 0x14]
push edx
lea ebx, [esp + 0x44]
call fcn.00420c70
add esp, 4
mov edi, eax
mov byte [esp + 0x6c], 9
mov eax, dword [edi]
mov esi, dword [eax - 0xc]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, esi
or eax, ecx
jge 0x42ccdc
push esi
mov ecx, edi
call fcn.00401cc0
mov eax, dword [edi]
lea ecx, [esi + 1]
push ecx
push eax
call fcn.0043e554
add esp, 8
test esi, esi
jl 0x42cf3a
mov eax, dword [edi]
cmp esi, dword [eax - 8]
jg 0x42cf3a
mov dword [eax - 0xc], esi
mov edx, dword [edi]
xor eax, eax
mov word [edx + esi*2], ax
mov edi, dword [edi]
sub edi, 0x10
push edi
call fcn.00401f90
lea esi, [eax + 0x10]
add esp, 4
mov dword [esp + 0x44], esi
mov byte [esp + 0x6c], 0xb
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42cd43
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0042d67b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42c9a3
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x28]
push ecx
mov bl, 0xc
push esi
lea ecx, [esp + 0x50]
mov byte [esp + 0x74], bl
call fcn.0042f7ac
test eax, eax
je 0x42ce10
call fcn.0042d67b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42c9a3
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0x6c], 0xd
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0x2c]
push str._s:_s
push eax
call fcn.0040f030
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x2c]
add esp, 0x10
cmp ecx, dword [eax + 8]
jge 0x42caff
mov ecx, dword [eax + 4]
lea edx, [esp + 0x24]
add ecx, ebp
push edx
call fcn.0040f0a0
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ce10
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 0xb
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ce35
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [esp + 0x6c], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ce56
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 5
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ce7b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 2
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42cea0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
inc eax
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jl 0x42cb10
push edi
call fcn.0042c820
add esp, 4
mov ecx, edi
call fcn.0042cf50
mov esi, eax
mov byte [esp + 0x6c], 1
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ceee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x6c], 0
call fcn.0042f7a1
mov dword [esp + 0x6c], 0xffffffff
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42cf24
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
push 0x80070057
call fcn.00401f60
int3