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

Disassembly:
mov eax, dword [0x476ecf4]
sub esp, 0x868
test eax, eax
push ebx
push ebp
push esi
push edi
je 0x4210f0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x868
ret
lea eax, [esp + 0x50]
push 0
lea ecx, [esp + 0x2c]
push eax
lea edx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.004265e0
add esp, 0x24
test eax, eax
jne 0x421131
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x868
ret
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x516f90]
mov edx, dword [ecx]
call dword [edx + 0x14]
mov edi, str.000000000000001
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x476ed38
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push str.SELECT_MAX_idstmt__FROM_GATC__sSTMT
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x80]
push ecx
call ebp
add esp, 0xc
lea edx, [esp + 0x78]
push 1
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x421260
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x24]
test al, al
jne 0x421260
mov al, byte [ebx + 4]
test al, al
jne 0x42124d
mov eax, dword [ebx]
lea ecx, [esp + 0x30]
push 1
push ecx
mov ecx, ebx
call dword [eax + 0x14]
mov edi, dword [eax + 4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x30]
call fcn.00445280
lea ecx, [esp + 0x40]
push ecx
call fcn.0045fb51
fadd qword [0x46b3a0]
lea ecx, [esp + 0x44]
fstp qword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push edx
push eax
push str._.0f
push ecx
call fcn.0045faff
lea edx, [esp + 0x54]
push 0xf
push edx
call fcn.0045acd0
add esp, 0x1c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
test ebx, ebx
je 0x421260
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx]
mov edi, 0x514f20
or ecx, 0xffffffff
xor eax, eax
mov ebx, dword [esp + 0x898]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x888]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 0x472b7c
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4212b9
test cl, cl
je 0x4212b5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4212b9
add eax, 2
add esi, 2
test cl, cl
jne 0x421295
xor eax, eax
jmp 0x4212be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x421368
mov ecx, dword [esp + 0x894]
mov edx, dword [esp + 0x890]
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x890]
push ecx
push edx
push eax
call fcn.00408140
lea ecx, [esp + 0x38]
lea edx, [esp + 0x34]
push ecx
lea eax, [esp + 0x34]
push edx
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0x40]
push eax
mov eax, dword [esp + 0x8ac]
lea edx, [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x8ac]
push edx
mov edx, dword [esp + 0x8ac]
push eax
push ecx
lea eax, [esp + 0x78]
push edx
push eax
push 0x476ed38
lea ecx, [esp + 0xbc]
push str.INSERT_INTO_GATC__sSTMT__idstmt__idkcom__idchn__iddevice__comando__dati__npriority__executing__datora__cpccchk__VALUES___s___d___d___d__S___s__2__0___s_s_s_s_s_s_s__foostrings_
push ecx
call ebp
lea edi, [esp + 0x8c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x4c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
jmp 0x4214bd
mov eax, dword [esp + 0x890]
lea ecx, [esp + 0x10]
push eax
push str._02X
push ecx
call ebp
mov ebp, dword [esp + 0x8a0]
add esp, 0xc
mov esi, 0x470e70
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4213b1
test cl, cl
je 0x4213ad
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4213b1
add eax, 2
add esi, 2
test cl, cl
jne 0x42138d
xor eax, eax
jmp 0x4213b6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4213de
mov edi, 0x47ada8
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x10]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 0x471e68
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x421409
test cl, cl
je 0x421405
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x421409
add eax, 2
add esi, 2
test cl, cl
jne 0x4213e5
xor eax, eax
jmp 0x42140e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x421436
mov edi, 0x47ada4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x10]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x24]
push edx
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x28]
push edx
lea ecx, [esp + 0x30]
push eax
mov eax, dword [esp + 0x8a4]
lea edx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x8a0]
push edx
mov edx, dword [esp + 0x8a0]
push eax
mov eax, dword [esp + 0x8a0]
push ecx
push edx
lea ecx, [esp + 0x6c]
push eax
push ecx
push 0x476ed38
lea edx, [esp + 0xb0]
push str.INSERT_INTO_GATC__sSTMT__idstmt__idkcom__idchn__iddevice__comando__dati__npriority__executing__datora__cpccchk__VALUES___s___d___d___d__37___02d_s__2__0___s_s_s_s_s_s_s__foostrings_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea edi, [esp + 0x80]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x40
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
sub esp, 0x10
rep movsb byte es:[edi], byte [esi]
lea edx, [esp + 0x88]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0x10]
xor ecx, ecx
cmp eax, 1
sete cl
mov esi, ecx
mov ecx, dword [0x516f90]
test esi, esi
je 0x4214fe
mov edx, dword [ecx]
call dword [edx + 0x18]
jmp 0x421503
mov eax, dword [ecx]
call dword [eax + 0x1c]
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x868
ret