Function at 0x406810
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x46c530
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x74
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov eax, dword [0x47ccec]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x9c]
mov byte [esp + 0x8c], 1
lea eax, [ecx - 2]
cmp eax, 3
ja case.default.0x40685d
jmp dword [eax*4 + 0x406e64]
lea edx, [ebp + 0x138]
lea eax, [esp + 0x18]
push edx
push str.PERSON
push eax
call fcn.004604c3
push str._and_YEARMONTH0000000
lea ecx, [esp + 0x18]
push eax
push ecx
mov byte [esp + 0x98], 2
call fcn.0046044f
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x90], 3
call fcn.004602f3
lea ecx, [esp + 0x14]
mov byte [esp + 0x8c], 2
call fcn.004601fe
mov byte [esp + 0x8c], 1
lea ecx, [esp + 0x18]
jmp 0x406ba8
lea edx, [ebp + 0x138]
lea eax, [esp + 0x28]
push edx
push str.PERSON
push eax
call fcn.004604c3
push str._and_YEARMONTH
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x98], 4
call fcn.0046044f
lea edx, [ebp + 0x144]
mov byte [esp + 0x8c], 5
push edx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004603e9
push str._and_TYPE0
lea ecx, [esp + 0x20]
mov bl, 6
push eax
push ecx
mov byte [esp + 0x98], bl
call fcn.0046044f
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x90], 7
call fcn.004602f3
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8c], bl
call fcn.004601fe
lea ecx, [esp + 0x20]
mov byte [esp + 0x8c], 5
call fcn.004601fe
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 4
call fcn.004601fe
mov byte [esp + 0x8c], 1
lea ecx, [esp + 0x28]
jmp 0x406ba8
lea esi, [ebp + 0x138]
lea edx, [esp + 0x4c]
push esi
push str._PERSON
push edx
call fcn.004604c3
push str._and_YEARMONTH
push eax
lea eax, [esp + 0x50]
mov byte [esp + 0x94], 8
push eax
call fcn.0046044f
lea edi, [ebp + 0x144]
lea ecx, [esp + 0x44]
push edi
push eax
push ecx
mov byte [esp + 0x98], 9
call fcn.004603e9
push str._and_TYPE1__or
lea edx, [esp + 0x44]
push eax
push edx
mov byte [esp + 0x98], 0xa
call fcn.0046044f
push str._PERSON
push eax
lea eax, [esp + 0x44]
mov byte [esp + 0x94], 0xb
push eax
call fcn.0046044f
push esi
lea ecx, [esp + 0x3c]
push eax
push ecx
mov byte [esp + 0x98], 0xc
call fcn.004603e9
push str._and_YEARMONTH
lea edx, [esp + 0x38]
push eax
push edx
mov byte [esp + 0x98], 0xd
call fcn.0046044f
push edi
push eax
lea eax, [esp + 0x38]
mov byte [esp + 0x94], 0xe
push eax
call fcn.004603e9
push str._and_TYPE2_
lea ecx, [esp + 0x30]
mov bl, 0xf
push eax
push ecx
mov byte [esp + 0x98], bl
call fcn.0046044f
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x90], 0x10
call fcn.004602f3
lea ecx, [esp + 0x2c]
mov byte [esp + 0x8c], bl
call fcn.004601fe
lea ecx, [esp + 0x30]
mov byte [esp + 0x8c], 0xe
call fcn.004601fe
lea ecx, [esp + 0x34]
mov byte [esp + 0x8c], 0xd
call fcn.004601fe
lea ecx, [esp + 0x38]
mov byte [esp + 0x8c], 0xc
call fcn.004601fe
lea ecx, [esp + 0x3c]
mov byte [esp + 0x8c], 0xb
call fcn.004601fe
lea ecx, [esp + 0x40]
mov byte [esp + 0x8c], 0xa
call fcn.004601fe
lea ecx, [esp + 0x44]
mov byte [esp + 0x8c], 9
call fcn.004601fe
lea ecx, [esp + 0x48]
mov byte [esp + 0x8c], 8
call fcn.004601fe
mov byte [esp + 0x8c], 1
lea ecx, [esp + 0x4c]
jmp 0x406ba8
lea edx, [ebp + 0x138]
lea eax, [esp + 0x5c]
push edx
push str.PERSON
push eax
call fcn.004604c3
push str._and_YEARMONTH
lea ecx, [esp + 0x5c]
push eax
push ecx
mov byte [esp + 0x98], 0x11
call fcn.0046044f
lea edx, [ebp + 0x144]
mov byte [esp + 0x8c], 0x12
push edx
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.004603e9
push str._and_TYPE3
lea ecx, [esp + 0x54]
mov bl, 0x13
push eax
push ecx
mov byte [esp + 0x98], bl
call fcn.0046044f
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x90], 0x14
call fcn.004602f3
lea ecx, [esp + 0x50]
mov byte [esp + 0x8c], bl
call fcn.004601fe
lea ecx, [esp + 0x54]
mov byte [esp + 0x8c], 0x12
call fcn.004601fe
lea ecx, [esp + 0x58]
mov byte [esp + 0x8c], 0x11
call fcn.004601fe
mov byte [esp + 0x8c], 1
lea ecx, [esp + 0x5c]
call fcn.004601fe
mov esi, dword [esp + 0x94]
test esi, esi
jne 0x406bc2
push 0x80004003
call fcn.004238b9
mov edx, dword [esi]
lea eax, [esp + 0x5c]
push eax
push esi
call dword [edx + 0xdc]
test eax, eax
jge 0x406be0
push 0x47c288
push esi
push eax
call fcn.004238c7
cmp dword [esp + 0x5c], 1
jne 0x406c0e
test esi, esi
jne 0x406bf5
push 0x80004003
call fcn.004238b9
mov ecx, dword [esi]
push esi
call dword [ecx + 0x80]
test eax, eax
jge 0x406c0e
push 0x47c288
push esi
push eax
call fcn.004238c7
lea ecx, [esp + 0x10]
call fcn.0046ac98
mov edi, eax
mov word [esp + 0x64], 8
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
test eax, eax
mov dword [esp + 0x6c], eax
jne 0x406c3d
test edi, edi
je 0x406c3d
push 0x8007000e
call fcn.004238b9
test esi, esi
mov byte [esp + 0x8c], 0x15
jne 0x406c53
push 0x80004003
call fcn.004238b9
mov ecx, dword [esp + 0x64]
sub esp, 0x10
mov eax, esp
mov edx, dword [esi]
push esi
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0xc], ecx
call dword [edx + 0xc0]
test eax, eax
jge 0x406c92
push 0x47c288
push esi
push eax
call fcn.004238c7
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x64]
push edx
mov byte [esp + 0x90], 1
call edi
test eax, eax
jge 0x406cb1
push eax
call fcn.004238b9
mov eax, dword [0x4880e8]
mov word [esp + 0x74], 9
mov dword [esp + 0x7c], eax
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
mov bl, 0x16
push str.SALARY_OTHER
mov byte [esp + 0x90], bl
mov word [esp + 0x68], 8
call fcn.00423774
test eax, eax
mov dword [esp + 0x6c], eax
jne 0x406cfc
mov edx, str.SALARY_OTHER
test edx, edx
je 0x406cfc
push 0x8007000e
call fcn.004238b9
test esi, esi
mov byte [esp + 0x8c], 0x17
jne 0x406d12
push 0x80004003
call fcn.004238b9
mov edx, dword [esp + 0x74]
push 2
push 3
push 1
sub esp, 0x10
mov eax, dword [esi]
mov ecx, esp
sub esp, 0x10
mov dword [ecx], edx
mov edx, dword [esp + 0xa4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0xac]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x90]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [esp + 0x98]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x9c]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0xa0]
mov dword [ecx + 0xc], edx
call dword [eax + 0xa0]
test eax, eax
jge 0x406d86
push 0x47c288
push esi
push eax
call fcn.004238c7
lea eax, [esp + 0x64]
mov byte [esp + 0x8c], bl
push eax
call edi
test eax, eax
jge 0x406d9e
push eax
call fcn.004238b9
lea ecx, [esp + 0x74]
mov byte [esp + 0x8c], 1
push ecx
call edi
test eax, eax
jge 0x406db7
push eax
call fcn.004238b9
mov eax, dword [ebp + 0x68]
test eax, eax
jne 0x406dc8
push 0x80004003
call fcn.004238b9
mov ebp, dword [ebp + 0x68]
lea eax, [esp + 0x60]
push eax
push ebp
mov edx, dword [ebp]
call dword [edx + 0x68]
test eax, eax
jge 0x406de7
push 0x47c288
push ebp
push eax
call fcn.004238c7
mov ecx, dword [esp + 0x98]
push esi
call fcn.00401250
lea ecx, [esp + 0x10]
mov byte [esp + 0x8c], 0
call fcn.004601fe
test esi, esi
mov dword [esp + 0x8c], 0xffffffff
je 0x406e49
mov ecx, dword [esi]
push esi
call dword [ecx + 8]
jmp 0x406e49
lea ecx, [esp + 0x10]
mov byte [esp + 0x8c], 0
call fcn.004601fe
mov eax, dword [esp + 0x94]
mov dword [esp + 0x8c], 0xffffffff
test eax, eax
je 0x406e49
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x80
ret 0xc