Function at 0x42d1c0
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 0x42dca4
call fcn.0040c052
test eax, eax
jne 0x42dca4
xor edi, edi
cmp dword [esi + 0x18], edi
jne 0x42dca4
push edi
push edi
push edi
push 0x15
pop edx
mov ecx, esi
call fcn.004208db
add esp, 0xc
test eax, eax
je 0x42d21e
xor eax, eax
inc eax
jmp 0x42dca6
push 0x2c
lea eax, [esp + 0x6c]
push edi
push eax
call fcn.004aa670
add esp, 0xc
cmp dword [ebx + 0x20], edi
je 0x42d25e
cmp dword [ebx + 0x24], edi
jne 0x42d244
mov eax, ebx
mov dword [eax + 0x24], ebx
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x42d23a
push dword [ebp + 0x1c]
mov edx, ebx
mov ecx, esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0042bdd6
add esp, 0xc
jmp 0x42dca6
cmp dword [ebp + 8], 3
mov edi, dword [ebx + 0x1c]
jg 0x42d26b
and dword [ebx + 0x1c], 0
push 0
mov edx, ebx
mov ecx, esi
call fcn.0042cda4
pop ecx
test eax, eax
jne 0x42dc87
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 0x42dc87
cmp dword [esi + 0x18], 0
jg 0x42dc87
cmp dword [ebp + 8], 5
je 0x42d2d6
cmp dword [ebp + 8], 6
jne 0x42d2ec
cmp dword [eax], 1
jle 0x42d2ec
push str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
push esi
call fcn.0040b7a6
pop ecx
jmp 0x42dc86
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.0042bb85
mov edi, eax
mov dword [esp + 0x2c], edi
test edi, edi
je 0x42dc87
mov eax, dword [esp + 0x3c]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x18], ecx
cmp dx, word [eax]
jge 0x42d401
xor edi, edi
mov dword [esp + 0x34], edi
and dword [esp + 0x24], 0
cmp dword [edi + eax + 0x18], 0
je 0x42d3e2
cmp byte [edi + eax + 0x1c], 0
jne 0x42d3e2
mov edx, dword [edi + eax + 0xc]
test edx, edx
je 0x42d36e
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 0x42d373
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.0042d1c0
add esp, 0x18
cmp dword [esp + 0x1c], 0
je 0x42d3a1
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 0x42d3c4
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 0x42d32d
mov edi, dword [esp + 0x2c]
push dword [ebp + 0xc]
mov edx, ebx
mov ecx, esi
push dword [ebp + 8]
call fcn.0042c9ca
pop ecx
pop ecx
test eax, eax
jne 0x42dc6c
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x42d455
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x42d455
push dword [esp + 0x54]
mov edx, dword [ebp + 0x14]
push dword [eax]
call fcn.0042c6d8
pop ecx
pop ecx
test eax, eax
je 0x42d455
cmp dword [esp + 0x54], 0
je 0x42dc87
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x42dc87
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42d49f
cmp dword [esi + 0x18], 0
jne 0x42dc87
mov edx, eax
mov ecx, esi
call fcn.0042abb6
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.00415b97
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [ebx + 0x40], eax
jmp 0x42d4a4
or dword [esp + 0x24], 0xffffffff
cmp dword [ebp + 8], 8
jne 0x42d4bf
mov eax, dword [esp + 0x4c]
mov ecx, edi
push dword [eax]
push dword [ebp + 0xc]
push 0x78
pop edx
call fcn.00415b44
pop ecx
pop ecx
mov ecx, edi
call fcn.00415bc3
push eax
mov edx, ebx
mov dword [esp + 0x98], eax
mov ecx, esi
call fcn.0042bbca
cmp dword [esp + 0x20], 0
pop ecx
je 0x42d50b
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.0042abb6
push 0xfffffffffffffff7
push eax
push 0
push dword [esp + 0x24]
mov ecx, edi
push 0x78
pop edx
call fcn.00415b97
add esp, 0x10
jmp 0x42d510
or dword [esp + 0x18], 0xffffffff
cmp dword [esp + 0x54], 0
jne 0x42d5b2
cmp dword [esp + 0x14], 0
jne 0x42d5b2
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x3c]
mov ecx, esi
call fcn.00431e85
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x42dc87
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
test edx, edx
js 0x42d574
test eax, eax
jne 0x42d574
push 1
mov ecx, edi
call fcn.00415e6d
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.0042a89e
add esp, 0x28
test eax, eax
jne 0x42dc87
mov ecx, dword [esp + 0x2c]
call fcn.00432fbf
jmp 0x42dc2b
mov ecx, edi
call fcn.00415bc3
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 0x42d5f9
mov eax, dword [ecx]
inc eax
mov dword [esp + 0x74], eax
jmp 0x42d5fe
and dword [esp + 0x74], 0
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x9c]
call fcn.0041f121
test eax, eax
jne 0x42dc87
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x9c]
call fcn.0041f121
test eax, eax
jne 0x42dc87
mov eax, dword [esp + 0x44]
test eax, eax
je 0x42d650
mov edx, eax
lea ecx, [esp + 0x9c]
call fcn.0041f0fc
test eax, eax
jne 0x42dc87
and dword [esp + 0x1c], 0
cmp dword [esp + 0x8c], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x84], eax
jle 0x42d6ae
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.0041f121
test eax, eax
jne 0x42dc87
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 0x42d670
call fcn.0040c052
test eax, eax
jne 0x42dc87
cmp dword [esp + 0x14], eax
je 0x42db98
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.00415bc3
mov ecx, edi
mov dword [esp + 0x28], eax
call fcn.00415bc3
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.00415bc3
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.0042abb6
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.00415b97
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.00415b44
push dword [esp + 0x44]
mov ecx, edi
push 0
push 0x30
pop edx
call fcn.00415b44
push dword [esp + 0x48]
mov ecx, edi
push 0
push 0x5e
pop edx
call fcn.00415b44
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.00415b44
push 0
push 0
push 0x16
pop edx
mov ecx, edi
call fcn.00415b44
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.00415b44
add esp, 0x40
mov ecx, edi
push 0
push 0
push 0x16
pop edx
call fcn.00415b44
pop ecx
pop ecx
lea edx, [esp + 0x68]
mov ecx, esi
call fcn.0042d00e
mov edx, dword [esp + 0x44]
test edx, edx
je 0x42d7f1
mov eax, dword [esp + 0x20]
mov ecx, esi
inc eax
push 1
push eax
call fcn.0041ebb8
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.0042a89e
add esp, 0x28
mov dword [esp + 0x10], eax
test eax, eax
jne 0x42dc87
push eax
push eax
push 0x16
pop edx
mov ecx, edi
call fcn.00415b44
mov eax, dword [edi + 0x10]
lea edx, [esp + 0x70]
mov ecx, esi
mov dword [esp + 0x4c], eax
call fcn.0042cf4d
push 0
push 0
push 0x16
pop edx
mov ecx, edi
call fcn.00415b44
mov edx, dword [esp + 0x38]
mov ecx, edi
call fcn.00415c01
push dword [esp + 0x54]
push 0
push 0x2e
pop edx
call fcn.00415b44
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x54]
mov ecx, esi
call fcn.00431e85
add esp, 0x20
mov dword [esp + 0x38], eax
test eax, eax
je 0x42dc71
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42d8b0
mov eax, dword [ebx + 0x14]
xor edx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jmp 0x42d980
xor ecx, ecx
mov edx, eax
inc ecx
mov dword [esp + 0x18], ecx
mov ecx, esi
call fcn.0041e995
push 0
push dword [esp + 0x70]
mov ecx, edi
push 6
pop edx
call fcn.00415b44
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 0x42d935
mov ebx, dword [esp + 0x7c]
xor esi, esi
mov edx, dword [esp + 0x78]
cmp dword [edx + esi + 0xc], eax
jl 0x42d921
push dword [edx + esi + 4]
mov ecx, edi
push dword [edx + esi + 8]
mov edx, dword [edx + esi]
call fcn.0041e073
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 0x42d8ef
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
push 0
push eax
push 0x5a
pop edx
mov ecx, edi
call fcn.00415b44
push 0
push dword [esp + 0x78]
mov ecx, edi
push 0x6e
pop edx
call fcn.00415b44
mov ecx, dword [esp + 0x48]
call fcn.00432fbf
push dword [esp + 0x44]
mov ecx, edi
push dword [esp + 0x80]
push 0x13
pop edx
call fcn.00415b44
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 0x42da0a
mov ebx, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x28], eax
test edx, edx
je 0x42d9b2
push ecx
push dword [esp + 0x70]
mov ecx, edi
push 3
pop edx
call fcn.00415b44
pop ecx
pop ecx
jmp 0x42d9c4
mov byte [esp + 0x68], 1
mov ecx, esi
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + eax]
call fcn.0041e0e7
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.00415b44
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 0x42d99b
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
dec eax
mov dword [esp + 0x28], eax
js 0x42da91
mov ebx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [ebx]
dec eax
cmp esi, eax
jge 0x42da35
mov eax, dword [esp + 0x48]
xor edx, edx
add eax, esi
inc edx
push 0
push eax
mov ecx, edi
call fcn.00415b44
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.00415b44
pop ecx
pop ecx
mov ecx, edi
test esi, esi
jne 0x42da5d
push dword [esp + 0x60]
push 0x200
push 0x44
jmp 0x42da68
push dword [esp + 0x64]
push 0x200
push 0x43
pop edx
call fcn.00415b44
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.00415e9e
dec esi
pop ecx
pop ecx
jns 0x42da19
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x64]
mov ecx, edi
call fcn.00415c01
mov eax, dword [esp + 0x14]
and dword [esp + 0x58], 0
cmp dword [eax], 0
jle 0x42daec
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.00415b44
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 0x42dac0
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.00415b44
push dword [esp + 0x3c]
mov ecx, edi
push dword [esp + 0x28]
push 5
pop edx
call fcn.00415b44
push dword [esp + 0x54]
mov ecx, edi
push 0
push 0x2e
pop edx
call fcn.00415b44
mov edx, dword [esp + 0x78]
mov ecx, edi
call fcn.00415c01
lea edx, [esp + 0x80]
mov ecx, esi
call fcn.0042d05d
push dword [esp + 0x44]
mov ecx, edi
push 1
push 0x30
pop edx
call fcn.00415b44
mov ecx, dword [esp + 0x38]
add esp, 0x20
test ecx, ecx
je 0x42db67
push dword [esp + 0x40]
mov ecx, edi
push dword [esp + 0x70]
push 0x6d
pop edx
call fcn.00415b44
pop ecx
jmp 0x42db80
mov ecx, dword [esp + 0x38]
call fcn.00432fbf
mov edx, dword [esp + 0x98]
mov ecx, edi
push 1
call fcn.00415e6d
pop ecx
push dword [esp + 0x20]
mov ecx, edi
push 0
push 0x2e
pop edx
call fcn.00415b44
pop ecx
pop ecx
jmp 0x42dc20
lea edx, [esp + 0x68]
mov ecx, esi
call fcn.0042cf4d
push 0
push dword [esp + 0x3c]
mov edx, edi
mov ecx, esi
call fcn.00431e85
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42dc87
lea edx, [esp + 0x68]
mov ecx, esi
call fcn.0042d05d
mov ecx, edi
call fcn.00432fbf
lea edx, [esp + 0x68]
mov ecx, esi
call fcn.0042d00e
mov eax, dword [esp + 0x44]
xor edi, edi
mov dword [esp + 0x30], edi
test eax, eax
je 0x42dbfa
push 1
push dword [esp + 0x38]
mov edx, eax
mov ecx, esi
call fcn.0041ebb8
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.0042a89e
mov edi, dword [esp + 0x54]
add esp, 0x28
mov edx, dword [esp + 0x34]
mov ecx, edi
call fcn.00415c01
cmp dword [esp + 0x30], 0
je 0x42dc4b
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.0042ac46
add esp, 0x10
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x42dc5e
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.00415c01
and dword [esp + 0x10], 0
cmp dword [ebp + 8], 4
jne 0x42dc87
push dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
mov ecx, esi
call fcn.0042b102
pop ecx
push dword [esp + 0x78]
call fcn.0040b5df
pop ecx
push dword [esp + 0x88]
call fcn.0040b5df
mov eax, dword [esp + 0x14]
pop ecx
jmp 0x42dca6
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret