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

Disassembly:
sub esp, 0xf8
mov edx, dword [esp + 0xfc]
push ebx
push ebp
push esi
mov esi, dword [edx]
push edi
mov ecx, 6
lea edi, [esp + 0x78]
mov eax, dword [esi + 0x14]
xor ebp, ebp
mov dword [esp + 0x24], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, 6
lea edi, [esp + 0xa8]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0x118]
or ecx, 4
cmp eax, 0x22
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0xbc], ecx
mov ebx, 0x10
jne 0x4600c0
mov dword [esp + 0x118], ebx
mov eax, dword [esi + 0x14]
test byte [eax + 0x394], 2
je 0x460114
mov ecx, dword [edx + 0xf4]
test ch, 0x18
jne 0x4600eb
push eax
call fcn.004614b0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
test ch, 8
je 0x460114
lea ecx, [edx + 0xa0]
push ecx
lea ecx, [edx + 0x6c]
mov edx, dword [edx + 0x68]
push 2
push ecx
push 0x20
push edx
push eax
call fcn.00436f80
add esp, 0x18
cmp eax, ebp
jne 0x46023a
cmp dword [esi + 0xe4], ebp
je 0x460b87
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x34]
mov dword [esp + 0x54], eax
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10c]
xor edx, edx
mov dword [esp + 0x50], edx
test byte [eax + 0xf4], bl
jne 0x460165
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
test byte [ecx + 0x394], 2
jne 0x460165
mov esi, dword [ecx + 0x15c]
test esi, esi
je 0x460165
mov ecx, 0x20000000
jmp 0x460167
xor ecx, ecx
mov esi, dword [esp + 0x118]
mov dword [esp + 0x30], ecx
cmp esi, 7
jne 0x46025f
or ecx, 7
lea edx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
push edx
push ecx
push eax
call fcn.0045f920
mov esi, eax
add esp, 0x10
cmp esi, 0xffff86eb
jne 0x460245
mov esi, 0xffff86f3
mov edi, dword [esp + 0x10c]
mov ecx, dword [esp + 0x18]
push esi
push ecx
push edi
call fcn.00460d40
add esp, 0xc
test eax, eax
je 0x4601c8
test esi, esi
jne 0x4601c8
mov esi, eax
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4601de
mov edx, dword [esp + 0x24]
push eax
push edx
call fcn.00410cc0
add esp, 8
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x4601f7
push eax
mov eax, dword [esp + 0x28]
push eax
call fcn.00410ac0
add esp, 8
mov eax, dword [edi + 0xf4]
test ah, 8
je 0x46021d
mov ecx, dword [esp + 0x1c]
push 0
add edi, 0xa0
push 4
mov edx, dword [ecx + 0x14]
push edi
push edx
call fcn.00437de0
add esp, 0x10
mov eax, dword [esp + 0x10]
test eax, eax
je 0x460238
push eax
call fcn.00461a80
add esp, 4
test eax, eax
je 0x460238
test esi, esi
jne 0x460238
mov esi, eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
test esi, esi
jne 0x4601a8
mov eax, dword [esp + 0x10c]
mov edx, 1
mov dword [esp + 0x50], edx
jmp 0x460273
mov ecx, dword [esp + 0x110]
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x114]
test byte [ecx + 0x14], 8
je 0x460337
test edx, edx
jne 0x460301
push edx
lea edx, [esp + 0x24]
push edx
push eax
call fcn.0045f700
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4601a8
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0xa8]
or al, 0x1c
lea edx, [esp + 0x34]
push eax
mov eax, dword [esp + 0x24]
push ecx
push edx
push eax
call fcn.0045f920
mov esi, eax
add esp, 0x10
cmp esi, 0xffff86eb
je 0x4602d4
cmp esi, 0xffff86f3
jne 0x4602de
mov dword [esp + 0x54], 1
xor esi, esi
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0045f1b0
add esp, 4
test eax, eax
je 0x4602f1
mov esi, eax
test esi, esi
jne 0x4601a8
mov dword [esp + 0x50], 1
mov eax, dword [esp + 0x114]
lea edx, [esp + 0x78]
push edx
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0xac]
push eax
push ecx
push edx
call fcn.00461b30
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x4601a8
mov dword [esp + 0x28], 1
jmp 0x46033f
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x18]
cmp eax, 3
jne 0x460356
mov edx, dword [ecx + 0x250]
test dh, 8
jne 0x460363
cmp eax, 4
jne 0x460435
mov ecx, dword [esp + 0x1c]
cmp eax, 4
jne 0x46037a
mov eax, dword [ecx + 0x10c]
mov ebp, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
jmp 0x46038a
mov eax, dword [ecx + 0x104]
mov ecx, dword [eax + 0x14]
mov ebp, dword [eax + 0x1c]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x28]
test eax, eax
je 0x460398
mov ebx, dword [esp + 0x7c]
jmp 0x4603a2
mov edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
cmp ebx, ebp
jbe 0x4603bc
mov eax, dword [esp + 0x24]
push ebp
push ebx
push eax
call fcn.00416450
add esp, 0xc
mov esi, eax
jmp 0x4601a8
jae 0x460435
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x78]
push ecx
push ebp
push edx
call fcn.00410c30
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4601a8
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x460400
mov eax, dword [esp + 0x114]
mov edi, dword [esp + 0x78]
mov ecx, ebx
mov esi, dword [eax]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x78]
mov al, byte [esp + 0x2c]
mov ecx, ebp
mov dword [esp + 0x28], 1
sub ecx, ebx
lea edi, [edx + ebx]
mov bl, al
mov edx, ecx
mov bh, bl
mov eax, ebx
shl eax, 0x10
mov ax, bx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov dword [esp + 0x7c], ebp
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x10]
push eax
push ecx
call fcn.00461950
mov esi, eax
add esp, 8
test esi, esi
jne 0x4601a8
mov edx, dword [esp + 0x10]
test edx, edx
je 0x46079d
test esi, esi
jne 0x4601a8
mov eax, dword [esp + 0x50]
test eax, eax
je 0x460482
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x460482
test byte [edx + 0xfc], 1
jne 0x460782
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x60]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x28]
test eax, eax
lea eax, [esp + 0x78]
jne 0x4604a2
mov eax, dword [esp + 0x114]
lea ecx, [esp + 0x60]
push ecx
push eax
lea eax, [esp + 0x3c]
push eax
push edx
call dword [edx + 0xf4]
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4604ce
cmp esi, 0xffff86ea
jne 0x4601a8
jmp 0x460782
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x68]
mov ecx, dword [ecx + 4]
push edx
mov edx, dword [eax + 0x18]
push 0
push 0
push edx
push ecx
push eax
call fcn.00461c60
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x4601a8
mov ebp, dword [esp + 0x24]
test byte [ebp + 0x394], 2
je 0x460521
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xf4]
or ch, 0x10
mov dword [eax + 0xf4], ecx
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x18]
cmp eax, 4
je 0x460532
cmp eax, 3
jne 0x460570
mov eax, dword [esp + 0x10]
test dword [eax + 0x250], 0x10000000
je 0x460570
mov eax, dword [esp + 0x34]
mov bl, byte [eax + 2]
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov byte [esp + 0x2e], bl
mov bl, byte [eax + 3]
mov byte [eax], bl
mov eax, dword [esp + 0x34]
mov bl, byte [esp + 0x2e]
mov byte [eax + 1], bl
mov eax, dword [esp + 0x34]
mov byte [eax + 2], dl
mov edx, dword [esp + 0x34]
mov byte [edx + 3], cl
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x250]
test ah, 1
jne 0x460639
mov ecx, 6
xor eax, eax
lea edi, [esp + 0xf0]
lea edx, [esp + 0xf0]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x104]
lea eax, [esp + 0x60]
or ecx, 4
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0x30]
or ecx, 0x1c
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
call fcn.0045f920
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x46061c
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x34]
lea eax, [esp + 0xf0]
push edx
push eax
push ecx
call fcn.00457e90
mov edx, dword [esp + 0xfc]
mov edi, eax
push edx
push ebp
call fcn.00410ac0
add esp, 0x14
test edi, edi
je 0x46061c
push str.index_not_configured_to_support_duplicates
push str.Put_results_in_a_non_unique_secondary_key_in_an
push str._s_s
push ebp
call fcn.00415f80
add esp, 0x10
mov esi, 0x16
jmp 0x4606ea
cmp esi, 0xffff86f3
je 0x4606c5
cmp esi, 0xffff86eb
jne 0x4606ea
jmp 0x4606c5
test ah, 2
jne 0x4606c5
mov ecx, 6
xor eax, eax
lea edi, [esp + 0xd8]
mov edx, dword [esp + 0x34]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
mov ecx, 6
xor eax, eax
lea edi, [esp + 0xc0]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc0], edx
or ecx, 0xa
mov dword [esp + 0xc4], eax
lea edx, [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xdc]
push edx
push eax
push ecx
call fcn.0045f920
mov esi, eax
add esp, 0x10
cmp esi, 0xffff86f3
je 0x4606c5
cmp esi, 0xffff86eb
jne 0x4606ea
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x34]
push 0x22
lea eax, [esp + 0x64]
push edx
push eax
push ecx
call fcn.00460050
mov esi, eax
add esp, 0x10
cmp esi, 0xffff86ec
jne 0x4606ea
xor esi, esi
test byte [esp + 0x74], 1
je 0x460710
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
push edx
mov ecx, dword [eax + 0x14]
push ecx
call fcn.00410ac0
mov eax, dword [esp + 0x7c]
add esp, 8
and al, 0xfe
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x18]
cmp eax, 4
je 0x460721
cmp eax, 3
jne 0x46075f
mov eax, dword [esp + 0x10]
test dword [eax + 0x250], 0x10000000
je 0x46075f
mov eax, dword [esp + 0x34]
mov bl, byte [eax + 2]
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov byte [esp + 0x5a], bl
mov bl, byte [eax + 3]
mov byte [eax], bl
mov eax, dword [esp + 0x34]
mov bl, byte [esp + 0x5a]
mov byte [eax + 1], bl
mov eax, dword [esp + 0x34]
mov byte [eax + 2], dl
mov edx, dword [esp + 0x34]
mov byte [edx + 3], cl
mov eax, dword [esp + 0x14]
push eax
call fcn.0045f1b0
add esp, 4
test eax, eax
je 0x46077a
test esi, esi
jne 0x4601a8
mov esi, eax
test esi, esi
jne 0x4601a8
lea ecx, [esp + 0x10]
push ecx
call fcn.004619c0
mov edx, dword [esp + 0x14]
add esp, 4
test edx, edx
mov esi, eax
jne 0x46045d
test esi, esi
jne 0x4601a8
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x460845
mov eax, dword [esp + 0x10c]
lea edx, [esp + 0x20]
push esi
push edx
push eax
call fcn.0045f700
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4601a8
mov eax, dword [esp + 0x110]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
or al, 0x1c
mov dword [esp + 0x38], edx
lea ecx, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x38]
push ecx
push edx
push eax
call fcn.0045f920
mov esi, eax
add esp, 0x10
cmp esi, 0xffff86eb
je 0x460818
cmp esi, 0xffff86f3
jne 0x460822
mov dword [esp + 0x54], 1
xor esi, esi
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0045f1b0
add esp, 4
test eax, eax
je 0x46083d
test esi, esi
jne 0x4601a8
mov esi, eax
test esi, esi
jne 0x4601a8
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x460b87
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x10]
push edx
push eax
call fcn.00461950
mov esi, eax
add esp, 8
test esi, esi
jne 0x4601a8
mov edx, dword [esp + 0x10]
test edx, edx
je 0x460b87
mov ebx, 0xfffffffe
test esi, esi
jne 0x460b87
test byte [edx + 0xfc], 1
jne 0x460b6c
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x90]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x90]
lea eax, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
push eax
push ecx
push edx
call dword [edx + 0xf4]
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4608d9
cmp esi, 0xffff86ea
jne 0x4601a8
jmp 0x460b6c
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x60]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x28]
test eax, eax
lea eax, [esp + 0x78]
jne 0x4608f9
mov eax, dword [esp + 0x114]
lea edx, [esp + 0x60]
push edx
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x1c]
push eax
call dword [eax + 0xf4]
mov esi, eax
add esp, 0x10
test esi, esi
je 0x460924
cmp esi, 0xffff86ea
jne 0x4601a8
cmp esi, 0xffff86ea
mov dword [esp + 0x14], 0
je 0x46095a
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x60]
push edx
lea edx, [esp + 0x94]
mov ecx, dword [eax + 0x104]
push edx
push eax
call dword [ecx + 0xc]
add esp, 0xc
test eax, eax
je 0x460aed
mov ecx, dword [esp + 0x10c]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x14]
mov edx, dword [ecx + 0x68]
mov ecx, dword [ecx + 4]
push edx
mov edx, dword [eax + 0x18]
push 0
push 0
push edx
push ecx
push eax
call fcn.00461c60
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x4601a8
mov edx, dword [esp + 0x24]
test byte [edx + 0x394], 2
je 0x4609ad
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xf4]
or ch, 0x10
mov dword [eax + 0xf4], ecx
mov ebp, dword [esp + 0x1c]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0xd8]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
mov eax, dword [ebp + 0x18]
cmp eax, 4
je 0x4609ea
cmp eax, 3
jne 0x460a28
mov edx, dword [esp + 0x10]
test dword [edx + 0x250], 0x10000000
je 0x460a28
mov eax, dword [esp + 0x34]
mov bl, byte [eax + 2]
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov byte [esp + 0x5a], bl
mov bl, byte [eax + 3]
mov byte [eax], bl
mov eax, dword [esp + 0x34]
mov bl, byte [esp + 0x5a]
mov byte [eax + 1], bl
mov eax, dword [esp + 0x34]
mov byte [eax + 2], dl
mov edx, dword [esp + 0x34]
mov byte [edx + 3], cl
mov edx, dword [esp + 0x30]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0xc0]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc0], eax
or edx, 0xa
mov dword [esp + 0xc4], ecx
lea eax, [esp + 0xc0]
push edx
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0xdc]
push eax
push ecx
push edx
call fcn.0045f920
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x460a8a
mov eax, dword [esp + 0x14]
push 0x22
push eax
call fcn.0045f510
add esp, 8
jmp 0x460a9b
cmp esi, 0xffff86f3
jne 0x460a9d
push ebp
call fcn.00466f60
add esp, 4
mov esi, eax
mov eax, dword [ebp + 0x18]
cmp eax, 4
je 0x460aaa
cmp eax, 3
jne 0x460ae8
mov ecx, dword [esp + 0x10]
test dword [ecx + 0x250], 0x10000000
je 0x460ae8
mov eax, dword [esp + 0x34]
mov bl, byte [eax + 2]
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov byte [esp + 0x2e], bl
mov bl, byte [eax + 3]
mov byte [eax], bl
mov eax, dword [esp + 0x34]
mov bl, byte [esp + 0x2e]
mov byte [eax + 1], bl
mov eax, dword [esp + 0x34]
mov byte [eax + 2], dl
mov edx, dword [esp + 0x34]
mov byte [edx + 3], cl
mov ebx, 0xfffffffe
test byte [esp + 0x74], 1
je 0x460b13
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
push eax
mov edx, dword [ecx + 0x14]
push edx
call fcn.00410ac0
mov eax, dword [esp + 0x7c]
add esp, 8
and eax, ebx
mov dword [esp + 0x74], eax
test byte [esp + 0xa4], 1
je 0x460b45
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x90]
push eax
mov edx, dword [ecx + 0x14]
push edx
call fcn.00410ac0
mov eax, dword [esp + 0xac]
add esp, 8
and eax, ebx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x460b64
push eax
call fcn.0045f1b0
add esp, 4
test eax, eax
je 0x460b64
test esi, esi
jne 0x4601a8
mov esi, eax
test esi, esi
jne 0x4601a8
lea eax, [esp + 0x10]
push eax
call fcn.004619c0
mov edx, dword [esp + 0x14]
add esp, 4
test edx, edx
mov esi, eax
jne 0x46087e
mov edi, dword [esp + 0x10c]
mov ebx, dword [esp + 0x118]
mov ecx, dword [edi + 0xb8]
mov eax, dword [ecx]
test eax, eax
je 0x460c43
cmp ebx, 1
je 0x460bb8
cmp ebx, 3
je 0x460bb8
cmp ebx, 7
jne 0x460c43
cmp dword [edi + 0xb4], 2
jne 0x460bda
mov edx, dword [eax + 0xb8]
test byte [edx + 0xcc], 1
je 0x460bda
mov esi, 0xffff86f3
jmp 0x4601af
push edi
call dword [edi + 0xf0]
mov esi, eax
add esp, 4
test esi, esi
jne 0x4601a8
lea eax, [esp + 0x18]
push 0x18
push eax
push edi
call fcn.0045f650
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4601a8
mov ecx, dword [esp + 0x18]
push esi
push ebx
mov edx, dword [ecx + 0xb8]
mov ecx, dword [esp + 0x11c]
push ecx
mov eax, dword [edx]
mov edx, dword [esp + 0x11c]
push edx
push eax
mov dword [esp + 0x60], eax
call dword [eax + 0xec]
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x4601a8
jmp 0x4601af
mov eax, dword [edi + 0xf4]
test ah, 4
je 0x460c56
mov eax, edi
mov dword [esp + 0x18], eax
jmp 0x460c74
lea eax, [esp + 0x18]
push 0x18
push eax
push edi
call fcn.0045f700
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4601a8
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x110]
lea ecx, [esp + 0x5c]
push ecx
push ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x64], 0
push ebx
push ebp
push eax
call dword [eax + 0xec]
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x4601a8
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4601af
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xb8]
lea edx, [esp + 0x4c]
push edx
mov eax, dword [eax]
push eax
push ecx
push edi
call fcn.0045f8c0
mov edx, dword [esp + 0x5c]
mov esi, eax
mov eax, dword [esp + 0x28]
add esp, 0x10
test esi, esi
mov ecx, dword [eax + 0xb8]
mov dword [ecx], edx
jne 0x4601af
mov eax, dword [esp + 0x118]
push 0
push eax
mov eax, dword [esp + 0x54]
push ebx
push ebp
push eax
call dword [eax + 0xec]
add esp, 0x14
mov esi, eax
jmp 0x4601af