Function at 0x47c1f4
Capabilities:
Packed with generic packer

Disassembly:
sub esp, 0x114
pushal
mov edi, eax
mov si, bx
mov dword [esp + 0x79], ecx
mov byte [esp + 0xcd], dl
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x2a7]
mov dword [esp + 0x25], eax
jmp 0x47c221
cmp ecx, 1
je 0x47c23a
jmp 0x47c25f
cmp si, 7
je 0x47c21a
jmp 0x47c25f
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x11]
cmp dword [eax + 0xf4], 4
je 0x47c267
jmp 0x47c27d
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x11]
cmp dword [eax + 0xf4], 4
jne 0x47c25f
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x31]
and eax, 3
cmp eax, 0
je 0x47c25f
mov dword [esp + 0x79], 3
cmp si, 6
je 0x47c229
jmp 0x47c27d
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x31]
and eax, 3
cmp eax, 0
je 0x47c27d
mov dword [esp + 0x79], 0
mov ebp, dword [esp + 0x25]
cmp ebp, 0
pushfd
movzx eax, si
mov dword [esp + 0x81], eax
popfd
je 0x47cb0e
mov dword [esp + 0x71], str.Setting
mov edx, ebp
mov dword [esp + 0x81], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x71]
cmp ecx, 0
je 0x47c2cc
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c2d1
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xd0]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c2f4
push dword [esp + 0x81]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov eax, dword [esp + 0x7d]
cmp eax, 7
jne 0x47c5ac
mov dword [esp + 0x6d], str.Concurrency_to
mov edx, ebp
mov dword [esp + 0x85], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x6d]
cmp ecx, 0
je 0x47c341
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c346
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xd4]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c369
push dword [esp + 0x85]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov eax, dword [esp + 0x79]
cmp eax, 4
jne 0x47c3e9
mov dword [esp + 0x69], 0x59eb50
mov edx, ebp
mov dword [esp + 0x89], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x69]
cmp ecx, 0
je 0x47c3b2
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c3b7
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xd8]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c3da
push dword [esp + 0x89]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
cmp eax, 3
jne 0x47c45b
mov dword [esp + 0x65], str.Row_Version
mov edx, ebp
mov dword [esp + 0x8d], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x65]
cmp ecx, 0
je 0x47c424
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c429
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xdc]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c44c
push dword [esp + 0x8d]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
cmp eax, 2
jne 0x47c4cd
mov dword [esp + 0x61], str.Lock
mov edx, ebp
mov dword [esp + 0x91], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x61]
cmp ecx, 0
je 0x47c496
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c49b
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xe0]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c4be
push dword [esp + 0x91]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
cmp eax, 1
jne 0x47c53f
mov dword [esp + 0x5d], 0x59eb6c
mov edx, ebp
mov dword [esp + 0x95], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x5d]
cmp ecx, 0
je 0x47c508
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c50d
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xe4]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c530
push dword [esp + 0x95]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
mov dword [esp + 0x59], 0x59eb78
mov edx, ebp
mov dword [esp + 0x99], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x59]
cmp ecx, 0
je 0x47c575
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c57a
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xe8]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c59d
push dword [esp + 0x99]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
cmp eax, 6
jne 0x47c7e4
mov dword [esp + 0x55], str.Cursor_Type_to
mov edx, ebp
mov dword [esp + 0x9d], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x55]
cmp ecx, 0
je 0x47c5eb
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c5f0
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xec]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c613
push dword [esp + 0x9d]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov eax, dword [esp + 0x79]
cmp eax, 3
jne 0x47c693
mov dword [esp + 0x51], 0x59eb90
mov edx, ebp
mov dword [esp + 0xa1], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x51]
cmp ecx, 0
je 0x47c65c
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c661
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xf0]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c684
push dword [esp + 0xa1]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
cmp eax, 2
jne 0x47c705
mov dword [esp + 0x4d], str.Dynamic
mov edx, ebp
mov dword [esp + 0xa5], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x4d]
cmp ecx, 0
je 0x47c6ce
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c6d3
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xf4]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c6f6
push dword [esp + 0xa5]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
cmp eax, 0
jne 0x47c777
mov dword [esp + 0x49], str.Forward_Only
mov edx, ebp
mov dword [esp + 0xa9], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x49]
cmp ecx, 0
je 0x47c740
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c745
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xf8]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c768
push dword [esp + 0xa9]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
mov dword [esp + 0x45], 0x59ebb0
mov edx, ebp
mov dword [esp + 0xad], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x45]
cmp ecx, 0
je 0x47c7ad
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c7b2
mov ebx, 0
mov eax, edx
lea edx, [esp + 0xfc]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c7d5
push dword [esp + 0xad]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
cmp eax, 4
jne 0x47c9aa
mov dword [esp + 0x41], 0x59ebb8
mov edx, ebp
mov dword [esp + 0xb1], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x41]
cmp ecx, 0
je 0x47c823
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c828
mov ebx, 0
mov eax, edx
lea edx, [esp + 0x100]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c84b
push dword [esp + 0xb1]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov eax, dword [esp + 0x79]
cmp eax, 0
jne 0x47c8cb
mov dword [esp + 0x3d], 0x59ebd0
mov edx, ebp
mov dword [esp + 0xb5], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x3d]
cmp ecx, 0
je 0x47c894
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c899
mov ebx, 0
mov eax, edx
lea edx, [esp + 0x104]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c8bc
push dword [esp + 0xb5]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
cmp eax, 1
jne 0x47c93d
mov dword [esp + 0x39], 0x59ebd4
mov edx, ebp
mov dword [esp + 0xb9], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x39]
cmp ecx, 0
je 0x47c906
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c90b
mov ebx, 0
mov eax, edx
lea edx, [esp + 0x108]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c92e
push dword [esp + 0xb9]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
mov dword [esp + 0x35], str.unknown_state
mov edx, ebp
mov dword [esp + 0xbd], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x35]
cmp ecx, 0
je 0x47c973
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c978
mov ebx, 0
mov eax, edx
lea edx, [esp + 0x10c]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47c99b
push dword [esp + 0xbd]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
cmp eax, 9
jne 0x47ca96
mov dword [esp + 0x31], str.number_of_rows_to_fetch_to
mov edx, ebp
mov dword [esp + 0xc1], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x31]
cmp ecx, 0
je 0x47c9e9
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47c9ee
mov ebx, 0
mov eax, edx
lea edx, [esp + 0x110]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47ca11
push dword [esp + 0xc1]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov eax, dword [esp + 0x79]
mov edx, ebp
mov dword [esp + 0xc5], edx
lea ebx, [esp + 0x114]
mov dword [esp + 0x2d], ebx
mov ecx, 0xa
call fcn.00474948
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x2d]
cmp ecx, 0
je 0x47ca62
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47ca67
mov ebx, 0
mov eax, edx
lea edx, [esp + 0x128]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47ca8a
push dword [esp + 0xc5]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
jmp 0x47cafe
mov dword [esp + 0x29], 0x59ec04
mov edx, ebp
mov dword [esp + 0xc9], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x29]
cmp ecx, 0
je 0x47cacc
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x47cad1
mov ebx, 0
mov eax, edx
lea edx, [esp + 0x12c]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47caf4
push dword [esp + 0xc9]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov eax, edi
mov ebx, ebp
mov ecx, 0x59ec18
mov dl, 1
call fcn.0047cc4c
push dword [esp + 0x79]
push dword [esp + 0x81]
mov eax, dword [edi + 4]
push eax
call dword [0x59f9b0]
mov bx, ax
mov word [esp + 0xce], bx
cmp byte [esp + 0xcd], 0
je 0x47cb3f
mov eax, edi
call fcn.0047cd04
cmp ebp, 0
je 0x47cc32
mov edx, 0x59ec20
call fcn.0040fbf0
sub eax, dword [0x52169c]
mov dword [esp + 0x75], eax
mov eax, ebp
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
cmp edx, 0
je 0x47cb7d
mov eax, edx
call fcn.00420750
mov ebx, eax
jmp 0x47cb82
mov ebx, 0
mov eax, ebp
mov ecx, edx
lea edx, [esp + 0x130]
mov dword [esp + 0x21], edx
call fcn.0051a40c
mov eax, ebp
mov ebx, 0xc
mov ecx, str._Time_Taken:
call fcn.0051a40c
mov eax, dword [esp + 0x75]
mov ebx, 0x64
cdq
idiv ebx
push edx
push eax
push str._ld._02ld_secs
push 0x5218a0
call fcn.004dbfa0
add esp, 0x10
mov eax, ebp
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov eax, 0x5218a0
cmp eax, 0
je 0x47cbfd
mov eax, 0x5218a0
call fcn.00420750
mov ebx, eax
jmp 0x47cc02
cmp word [esp + 0xce], 2
je 0x47cc3a
jmp 0x47cc44
mov ebx, 0
mov eax, ebp
mov edx, dword [esp + 0x21]
mov ecx, 0x5218a0
call fcn.0051a40c
mov eax, ebp
mov ebx, 2
mov ecx, 0x59eae4
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47cc32
push ebp
call sub.KERNEL32.dll_FlushFileBuffers
cmp byte [edi + 0x14], 0
jne 0x47cbf0
jmp 0x47cc44
cmp si, 4
jne 0x47c27d
popal
add esp, 0x114
ret