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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
push ebx
push esi
mov esi, ecx
mov ebx, edx
xor ecx, ecx
mov dword [esp + 0x4c], ebx
inc ecx
mov dword [esp + 0x58], esi
mov dword [esp + 0xc], ecx
push edi
test ebx, ebx
je 0x42d85e
call fcn.0040bc0b
test eax, eax
jne 0x42d85e
xor edi, edi
cmp dword [esi + 0x18], edi
jne 0x42d85e
push edi
push edi
push edi
push 0x15
pop edx
mov ecx, esi
call fcn.00420494
add esp, 0xc
test eax, eax
je 0x42cdd8
xor eax, eax
inc eax
jmp 0x42d860
push 0x2c
lea eax, [esp + 0x6c]
push edi
push eax
call fcn.004ab3c0
add esp, 0xc
cmp dword [ebx + 0x20], edi
je 0x42ce18
cmp dword [ebx + 0x24], edi
jne 0x42cdfe
mov eax, ebx
mov dword [eax + 0x24], ebx
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x42cdf4
push dword [ebp + 0x1c]
mov edx, ebx
mov ecx, esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0042b990
add esp, 0xc
jmp 0x42d860
cmp dword [ebp + 8], 3
mov edi, dword [ebx + 0x1c]
jg 0x42ce25
and dword [ebx + 0x1c], 0
push 0
mov edx, ebx
mov ecx, esi
call fcn.0042c95e
pop ecx
test eax, eax
jne 0x42d841
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], eax
movzx eax, byte [ebx + 7]
mov dword [esp + 0x54], eax
movzx eax, byte [ebx + 5]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx]
mov dword [ebx + 0x1c], edi
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], eax
test eax, eax
je 0x42d841
cmp dword [esi + 0x18], 0
jg 0x42d841
cmp dword [ebp + 8], 5
je 0x42ce90
cmp dword [ebp + 8], 6
jne 0x42cea6
cmp dword [eax], 1
jle 0x42cea6
push str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
push esi
call fcn.0040b35f
pop ecx
jmp 0x42d840
xor eax, eax
mov ecx, esi
cmp dword [ebp + 8], 3
cmovle edi, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], edi
call fcn.0042b73f
mov edi, eax
mov dword [esp + 0x2c], edi
test edi, edi
je 0x42d841
mov eax, dword [esp + 0x3c]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x18], ecx
cmp dx, word [eax]
jge 0x42cfbb
xor edi, edi
mov dword [esp + 0x34], edi
and dword [esp + 0x24], 0
cmp dword [edi + eax + 0x18], 0
je 0x42cf9c
cmp byte [edi + eax + 0x1c], 0
jne 0x42cf9c
mov edx, dword [edi + eax + 0xc]
test edx, edx
je 0x42cf28
mov ebx, dword [esi + 0xb0]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x50]
mov dword [esi + 0xb0], edx
mov dword [esp + 0x1c], 1
jmp 0x42cf2d
and dword [esp + 0x1c], 0
push 0
lea edx, [esp + 0x58]
push edx
mov edx, dword [edi + eax + 0x18]
push ecx
push ebx
push dword [edi + eax + 0x20]
mov ecx, esi
push 8
call fcn.0042cd7a
add esp, 0x18
cmp dword [esp + 0x1c], 0
je 0x42cf5b
mov eax, dword [esp + 0x24]
mov dword [esi + 0xb0], eax
cmp dword [ebp + 8], 3
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ecx
jle 0x42cf7e
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x34]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x40], ecx
movzx ecx, byte [ebx + 5]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], edx
movsx eax, word [eax]
inc ecx
add edi, 0x30
mov dword [esp + 0x18], ecx
cmp ecx, eax
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x3c]
jl 0x42cee7
mov edi, dword [esp + 0x2c]
push dword [ebp + 0xc]
mov edx, ebx
mov ecx, esi
push dword [ebp + 8]
call fcn.0042c584
pop ecx
pop ecx
test eax, eax
jne 0x42d826
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x42d00f
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x42d00f
push dword [esp + 0x54]
mov edx, dword [ebp + 0x14]
push dword [eax]
call fcn.0042c292
pop ecx
pop ecx
test eax, eax
je 0x42d00f
cmp dword [esp + 0x54], 0
je 0x42d841
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x42d841
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42d059
cmp dword [esi + 0x18], 0
jne 0x42d841
mov edx, eax
mov ecx, esi
call fcn.0042a770
mov edx, dword [esp + 0x30]
mov ecx, dword [esi + 0x1c]
push 0xfffffffffffffff7
push eax
mov dword [edx + 8], ecx
mov ecx, edi
inc dword [esi + 0x1c]
mov eax, dword [edx]
add eax, 2
push eax
push dword [edx + 8]
push 0x78
pop edx
call fcn.00415750
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [ebx + 0x40], eax
jmp 0x42d05e
or dword [esp + 0x24], 0xffffffff
cmp dword [ebp + 8], 8
jne 0x42d079
mov eax, dword [esp + 0x4c]
mov ecx, edi
push dword [eax]
push dword [ebp + 0xc]
push 0x78
pop edx
call fcn.004156fd
pop ecx
pop ecx
mov ecx, edi
call fcn.0041577c
push eax
mov edx, ebx
mov dword [esp + 0x98], eax
mov ecx, esi
call fcn.0042b784
cmp dword [esp + 0x20], 0
pop ecx
je 0x42d0c5
mov eax, dword [esi + 0x1c]
mov ecx, esi
mov dword [esp + 0x18], eax
inc eax
mov dword [esi + 0x1c], eax
mov edx, dword [ebx]
call fcn.0042a770
push 0xfffffffffffffff7
push eax
push 0
push dword [esp + 0x24]
mov ecx, edi
push 0x78
pop edx
call fcn.00415750
add esp, 0x10
jmp 0x42d0ca
or dword [esp + 0x18], 0xffffffff
cmp dword [esp + 0x54], 0
jne 0x42d16c
cmp dword [esp + 0x14], 0
jne 0x42d16c
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x3c]
mov ecx, esi
call fcn.00431a3f
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x42d841
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
test edx, edx
js 0x42d12e
test eax, eax
jne 0x42d12e
push 1
mov ecx, edi
call fcn.00415a26
or dword [ebx + 0x40], 0xffffffff
mov eax, dword [esp + 0x34]
pop ecx
mov ecx, dword [esp + 0x2c]
push dword [ebp + 0x1c]
mov edx, ebx
push dword [ecx + 0x10]
push dword [ecx + 0xc]
mov ecx, esi
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esp + 0x2c]
push eax
push 0
push 0
push dword [esp + 0x70]
call fcn.0042a458
add esp, 0x28
test eax, eax
jne 0x42d841
mov ecx, dword [esp + 0x2c]
call fcn.00432b79
jmp 0x42d7e5
mov ecx, edi
call fcn.0041577c
mov dword [esp + 0x34], eax
lea edi, [esp + 0x9c]
push 9
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x68]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xb8], eax
test ecx, ecx
je 0x42d1b3
mov eax, dword [ecx]
inc eax
mov dword [esp + 0x74], eax
jmp 0x42d1b8
and dword [esp + 0x74], 0
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x9c]
call fcn.0041ecda
test eax, eax
jne 0x42d841
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x9c]
call fcn.0041ecda
test eax, eax
jne 0x42d841
mov eax, dword [esp + 0x44]
test eax, eax
je 0x42d20a
mov edx, eax
lea ecx, [esp + 0x9c]
call fcn.0041ecb5
test eax, eax
jne 0x42d841
and dword [esp + 0x1c], 0
cmp dword [esp + 0x8c], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x84], eax
jle 0x42d268
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x88]
mov edx, dword [ecx + eax]
lea ecx, [esp + 0x9c]
mov edx, dword [edx + 0x10]
call fcn.0041ecda
test eax, eax
jne 0x42d841
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
inc eax
add ecx, 0x10
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
cmp eax, dword [esp + 0x8c]
jl 0x42d22a
call fcn.0040bc0b
test eax, eax
jne 0x42d841
cmp dword [esp + 0x14], eax
je 0x42d752
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.0041577c
mov ecx, edi
mov dword [esp + 0x28], eax
call fcn.0041577c
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.0041577c
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
inc ecx
mov dword [esi + 0x1c], ecx
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.0042a770
push 0xfffffffffffffff7
push eax
push dword [esp + 0x7c]
mov ecx, edi
mov dword [esp + 0x64], eax
push dword [esp + 0x78]
push 0x78
pop edx
call fcn.00415750
mov dword [esp + 0xa8], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x3c], eax
inc eax
mov dword [esp + 0x2c], eax
push dword [esp + 0x2c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x28]
mov dword [esi + 0x20], edx
push 0
mov dword [esp + 0x3c], edx
mov ecx, dword [eax]
add ecx, edx
mov dword [esi + 0x20], ecx
mov eax, dword [eax]
add eax, ecx
mov dword [esp + 0x60], ecx
push 0x30
pop edx
mov ecx, edi
mov dword [esi + 0x20], eax
call fcn.004156fd
push dword [esp + 0x44]
mov ecx, edi
push 0
push 0x30
pop edx
call fcn.004156fd
push dword [esp + 0x48]
mov ecx, edi
push 0
push 0x5e
pop edx
call fcn.004156fd
push dword [esp + 0x44]
mov eax, dword [edi + 0x10]
mov ecx, edi
push 1
push 0x30
pop edx
mov dword [esp + 0x40], eax
call fcn.004156fd
push 0
push 0
push 0x16
pop edx
mov ecx, edi
call fcn.004156fd
mov eax, dword [edi + 0x10]
mov dword [esp + 0x58], eax
add eax, 2
push eax
push dword [esp + 0x68]
push 5
pop edx
mov ecx, edi
call fcn.004156fd
add esp, 0x40
mov ecx, edi
push 0
push 0
push 0x16
pop edx
call fcn.004156fd
pop ecx
pop ecx
lea edx, [esp + 0x68]
mov ecx, esi
call fcn.0042cbc8
mov edx, dword [esp + 0x44]
test edx, edx
je 0x42d3ab
mov eax, dword [esp + 0x20]
mov ecx, esi
inc eax
push 1
push eax
call fcn.0041e771
pop ecx
pop ecx
push dword [ebp + 0x1c]
mov eax, dword [esp + 0x24]
mov edx, ebx
push dword [esp + 0x14]
inc eax
mov ecx, esi
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esp + 0x2c]
push dword [esp + 0x48]
push 0
push 0
push dword [ebx]
call fcn.0042a458
add esp, 0x28
mov dword [esp + 0x10], eax
test eax, eax
jne 0x42d841
push eax
push eax
push 0x16
pop edx
mov ecx, edi
call fcn.004156fd
mov eax, dword [edi + 0x10]
lea edx, [esp + 0x70]
mov ecx, esi
mov dword [esp + 0x4c], eax
call fcn.0042cb07
push 0
push 0
push 0x16
pop edx
mov ecx, edi
call fcn.004156fd
mov edx, dword [esp + 0x38]
mov ecx, edi
call fcn.004157ba
push dword [esp + 0x54]
push 0
push 0x2e
pop edx
call fcn.004156fd
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x54]
mov ecx, esi
call fcn.00431a3f
add esp, 0x20
mov dword [esp + 0x38], eax
test eax, eax
je 0x42d82b
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42d46a
mov eax, dword [ebx + 0x14]
xor edx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jmp 0x42d53a
xor ecx, ecx
mov edx, eax
inc ecx
mov dword [esp + 0x18], ecx
mov ecx, esi
call fcn.0041e54e
push 0
push dword [esp + 0x70]
mov ecx, edi
push 6
pop edx
call fcn.004156fd
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
xor ecx, ecx
mov eax, dword [eax]
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], eax
cmp dword [esp + 0x7c], ecx
jle 0x42d4ef
mov ebx, dword [esp + 0x7c]
xor esi, esi
mov edx, dword [esp + 0x78]
cmp dword [edx + esi + 0xc], eax
jl 0x42d4db
push dword [edx + esi + 4]
mov ecx, edi
push dword [edx + esi + 8]
mov edx, dword [edx + esi]
call fcn.0041dc2c
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x84]
inc eax
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
inc ecx
add esi, 0x18
mov dword [esp + 0x10], ecx
cmp ecx, ebx
jl 0x42d4a9
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
push 0
push eax
push 0x5a
pop edx
mov ecx, edi
call fcn.004156fd
push 0
push dword [esp + 0x78]
mov ecx, edi
push 0x6e
pop edx
call fcn.004156fd
mov ecx, dword [esp + 0x48]
call fcn.00432b79
push dword [esp + 0x44]
mov ecx, edi
push dword [esp + 0x80]
push 0x13
pop edx
call fcn.004156fd
mov eax, dword [esp + 0x58]
add esp, 0x18
mov edx, dword [esp + 0x18]
mov byte [esp + 0x69], 1
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax], ecx
jle 0x42d5c4
mov ebx, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x28], eax
test edx, edx
je 0x42d56c
push ecx
push dword [esp + 0x70]
mov ecx, edi
push 3
pop edx
call fcn.004156fd
pop ecx
pop ecx
jmp 0x42d57e
mov byte [esp + 0x68], 1
mov ecx, esi
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + eax]
call fcn.0041dca0
mov eax, dword [ebx]
xor ecx, ecx
dec eax
cmp dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
setl cl
add eax, dword [esp + 0x10]
push ecx
push eax
push 0x7b
pop edx
mov ecx, edi
call fcn.004156fd
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
add eax, 0xc
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [ebx]
jl 0x42d555
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
dec eax
mov dword [esp + 0x28], eax
js 0x42d64b
mov ebx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [ebx]
dec eax
cmp esi, eax
jge 0x42d5ef
mov eax, dword [esp + 0x48]
xor edx, edx
add eax, esi
inc edx
push 0
push eax
mov ecx, edi
call fcn.004156fd
pop ecx
pop ecx
mov eax, dword [esp + 0x24]
xor edx, edx
add eax, esi
inc edx
push 0
push eax
mov ecx, edi
call fcn.004156fd
pop ecx
pop ecx
mov ecx, edi
test esi, esi
jne 0x42d617
push dword [esp + 0x60]
push 0x200
push 0x44
jmp 0x42d622
push dword [esp + 0x64]
push 0x200
push 0x43
pop edx
call fcn.004156fd
mov eax, dword [esp + 0x60]
or edx, 0xffffffff
pop ecx
pop ecx
push 0xfffffffffffffffc
push dword [eax + esi*4 + 0xc]
mov ecx, edi
call fcn.00415a57
dec esi
pop ecx
pop ecx
jns 0x42d5d3
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x64]
mov ecx, edi
call fcn.004157ba
mov eax, dword [esp + 0x14]
and dword [esp + 0x58], 0
cmp dword [eax], 0
jle 0x42d6a6
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
sub eax, ecx
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x48], eax
add eax, ecx
mov edx, 0x83
push eax
push ecx
mov ecx, edi
call fcn.004156fd
mov eax, dword [esp + 0x50]
inc esi
pop ecx
pop ecx
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp esi, dword [ebx]
jl 0x42d67a
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
push dword [esp + 0x20]
mov ecx, edi
push 0
push 0x2e
pop edx
call fcn.004156fd
push dword [esp + 0x3c]
mov ecx, edi
push dword [esp + 0x28]
push 5
pop edx
call fcn.004156fd
push dword [esp + 0x54]
mov ecx, edi
push 0
push 0x2e
pop edx
call fcn.004156fd
mov edx, dword [esp + 0x78]
mov ecx, edi
call fcn.004157ba
lea edx, [esp + 0x80]
mov ecx, esi
call fcn.0042cc17
push dword [esp + 0x44]
mov ecx, edi
push 1
push 0x30
pop edx
call fcn.004156fd
mov ecx, dword [esp + 0x38]
add esp, 0x20
test ecx, ecx
je 0x42d721
push dword [esp + 0x40]
mov ecx, edi
push dword [esp + 0x70]
push 0x6d
pop edx
call fcn.004156fd
pop ecx
jmp 0x42d73a
mov ecx, dword [esp + 0x38]
call fcn.00432b79
mov edx, dword [esp + 0x98]
mov ecx, edi
push 1
call fcn.00415a26
pop ecx
push dword [esp + 0x20]
mov ecx, edi
push 0
push 0x2e
pop edx
call fcn.004156fd
pop ecx
pop ecx
jmp 0x42d7da
lea edx, [esp + 0x68]
mov ecx, esi
call fcn.0042cb07
push 0
push dword [esp + 0x3c]
mov edx, edi
mov ecx, esi
call fcn.00431a3f
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42d841
lea edx, [esp + 0x68]
mov ecx, esi
call fcn.0042cc17
mov ecx, edi
call fcn.00432b79
lea edx, [esp + 0x68]
mov ecx, esi
call fcn.0042cbc8
mov eax, dword [esp + 0x44]
xor edi, edi
mov dword [esp + 0x30], edi
test eax, eax
je 0x42d7b4
push 1
push dword [esp + 0x38]
mov edx, eax
mov ecx, esi
call fcn.0041e771
pop ecx
pop ecx
push dword [ebp + 0x1c]
mov eax, dword [esp + 0x38]
mov edx, ebx
push eax
push eax
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
push 0xffffffffffffffff
push edi
push edi
push edi
push dword [ebx]
call fcn.0042a458
mov edi, dword [esp + 0x54]
add esp, 0x28
mov edx, dword [esp + 0x34]
mov ecx, edi
call fcn.004157ba
cmp dword [esp + 0x30], 0
je 0x42d805
push dword [ebp + 0xc]
mov eax, dword [esp + 0x50]
mov edx, ebx
push dword [ebp + 8]
mov ecx, esi
push dword [eax]
push edi
call fcn.0042a800
add esp, 0x10
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x42d818
imul ecx, dword [ebp + 0x14], 0x30
mov eax, dword [eax + 0xc]
mov byte [ecx + eax + 0x1c], 1
mov edx, dword [esp + 0x94]
mov ecx, edi
call fcn.004157ba
and dword [esp + 0x10], 0
cmp dword [ebp + 8], 4
jne 0x42d841
push dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
mov ecx, esi
call fcn.0042acbc
pop ecx
push dword [esp + 0x78]
call fcn.0040b198
pop ecx
push dword [esp + 0x88]
call fcn.0040b198
mov eax, dword [esp + 0x14]
pop ecx
jmp 0x42d860
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret