Function at 0x4329b0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x498868
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push ebp
xor eax, eax
push esi
push edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x60]
push eax
push edi
push ebp
call fcn.00403640
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x6c]
add esp, 0x18
push ecx
mov ecx, dword [esp + 0x44]
push edx
push eax
call fcn.0047c1c0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x48]
push ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
push edx
push eax
mov ecx, ebx
call fcn.0047c1c0
lea ecx, [edi + 0x16]
push ecx
mov dword [esp + 0x58], eax
call fcn.00445590
mov edx, dword [esp + 0x60]
cmp dword [esp + 0x68], 0
mov esi, eax
mov eax, dword [esp + 0x64]
push edi
mov dword [esi + 0xc], edx
lea edx, [esi + 0x15]
setne cl
push ebp
push edx
mov dword [esi + 0x10], eax
mov byte [esi + 0x14], cl
call fcn.00489b40
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov byte [esi + edi + 0x15], 0
mov dword [esi + 8], eax
mov dword [esi + 4], ecx
mov eax, dword [0x4b01e4]
add esp, 0x10
add eax, 0xffffffff
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0xffffffff
js 0x432da5
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [0x4b01e0]
mov ebp, eax
sar ebp, 1
add ebp, ecx
mov eax, dword [edx + ebp*4]
mov ecx, dword [eax + 8]
mov edi, dword [ecx + eax + 0x14]
mov al, byte [edi + 0x14]
and al, 1
jne 0x432ade
cmp dword [esp + 0x64], 0
je 0x432ade
add ebp, 0xffffffff
mov dword [esp + 0x18], ebp
jmp 0x432d8c
test al, al
je 0x432aed
cmp dword [esp + 0x64], 0
je 0x432d81
mov eax, dword [edi + 8]
test eax, eax
lea ecx, [eax + edi + 0x16]
jne 0x432afb
lea ecx, [edi + 0x15]
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [ebx + 4]
push ecx
push edx
push eax
call fcn.00403cf0
add esp, 0x10
test eax, eax
jge 0x432b21
add ebp, 0xffffffff
mov dword [esp + 0x18], ebp
jmp 0x432d8c
jne 0x432d81
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x44]
lea edx, [edi + 0x15]
push edx
mov edx, dword [ecx + 4]
push eax
push edx
call fcn.00403cf0
add esp, 0x10
test eax, eax
jge 0x432b54
add ebp, 0xffffffff
mov dword [esp + 0x18], ebp
jmp 0x432d8c
mov dword [esp + 0x1c], ebp
jne 0x432d85
xor ebp, ebp
mov eax, dword [0x4b01e0]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 8]
lea eax, [edx + eax + 0x14]
mov edx, dword [esp + 0x10]
mov dword [eax + ebp*4], esi
mov eax, dword [esp + 0x54]
mov ecx, dword [ebx + 4]
mov ebp, dword [esp + 0x40]
push eax
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [edi]
push eax
push ecx
push edx
call fcn.00432610
add esp, 0x18
test eax, eax
jne 0x432bbc
push str._remove_ref_sorted_run_history_failed
push str.db::_run_history_ref
push 0x437
push str.._srcdb_run_history.cpp
call fcn.0043a6d0
add esp, 0x10
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x432bc9
mov eax, dword [edi]
add eax, 1
test eax, eax
mov dword [esi], eax
jge 0x432bd5
mov dword [esi], bind
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x54]
push esi
push eax
mov dword [esi + 0x10], edx
mov edx, dword [esp + 0x18]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esi]
push eax
push ecx
push edx
call fcn.00432410
add esp, 0x1c
test eax, eax
jne 0x432c26
push str._add_ref_sorted_run_history_failed
push str.db::_run_history_ref
push 0x452
push str.._srcdb_run_history.cpp
call fcn.0043a6d0
add esp, 0x10
cmp dword [esp + 0x68], 0
je 0x432d73
mov ebp, dword [0x4b027c]
test ebp, ebp
je 0x432d73
nop
cmp dword [ebp + 0x48], 3
jne 0x432d4b
mov eax, dword [ebp + 0xa0]
cmp eax, 0x1a
je 0x432c99
cmp eax, 0x1c
je 0x432c99
test eax, eax
je 0x432c99
push ebp
call fcn.00413f40
push edi
push ebp
call fcn.00411e80
add esp, 0xc
test eax, eax
je 0x432c7c
push esi
push ebp
call fcn.00411d50
add esp, 8
push edi
push ebp
call fcn.004110c0
add esp, 8
test eax, eax
je 0x432c94
push esi
push ebp
call fcn.00410b70
add esp, 8
call fcn.00413f60
mov eax, dword [esp + 0x54]
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [edi]
push edx
movzx edx, byte [edi + 0x14]
push ecx
and edx, 1
push edx
push eax
push ebp
call fcn.00411b30
add esp, 0x1c
test eax, eax
je 0x432cf2
mov ecx, dword [esp + 0x54]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x10]
push esi
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [ecx + 4]
mov ecx, dword [esi]
push eax
movzx eax, byte [esi + 0x14]
push edx
and eax, 1
push eax
push ecx
push ebp
call fcn.00411900
add esp, 0x20
mov edx, dword [esp + 0x54]
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edi]
push ecx
movzx ecx, byte [edi + 0x14]
push eax
and ecx, 1
push ecx
push edx
push ebp
call fcn.00410eb0
add esp, 0x1c
test eax, eax
je 0x432d4b
mov eax, dword [esp + 0x54]
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x10]
push esi
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [esi]
push edx
movzx edx, byte [esi + 0x14]
push ecx
and edx, 1
push edx
push eax
push ebp
call fcn.00410c90
add esp, 0x20
mov eax, dword [ebp + 0xb0]
test eax, eax
je 0x432d65
mov ecx, dword [ebp + 0xb4]
push ecx
push eax
call fcn.004395f0
add esp, 8
mov ebp, dword [ebp + 0x17c]
test ebp, ebp
jne 0x432c40
push edi
call fcn.004455d0
add esp, 4
jmp 0x43319b
mov dword [esp + 0x1c], ebp
add ebp, 1
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jle 0x432aa1
cmp dword [esp + 0x1c], 0xffffffff
jne 0x432ea0
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x58]
test eax, eax
je 0x432fa9
test eax, eax
mov dword [esi], eax
jge 0x432dcd
mov dword [esi], bind
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push 0
push 0
push esi
push edx
push eax
push 0x4b01e0
call fcn.00402270
mov ecx, dword [esp + 0x6c]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x58]
push esi
push ecx
mov ecx, dword [ebp + 4]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esi]
push ecx
push edx
push eax
call fcn.00432410
add esp, 0x34
cmp dword [esp + 0x68], 0
je 0x43319b
mov edi, dword [0x4b027c]
test edi, edi
je 0x43319b
lea esp, [esp]
cmp dword [edi + 0x48], 3
jne 0x433173
mov eax, dword [edi + 0xa0]
cmp eax, 0x1a
je 0x433061
cmp eax, 0x1c
je 0x433061
test eax, eax
je 0x433061
push edi
call fcn.00413f40
add esp, 4
test byte [esi + 0x14], 1
je 0x432fb4
mov edx, dword [esp + 0x54]
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [ebp + 4]
push eax
push ecx
push edx
call fcn.00424660
add esp, 0x14
test eax, eax
je 0x432fef
push eax
push edi
call fcn.00411380
jmp 0x432fde
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x4b01e0]
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 8]
lea edx, [ecx + eax + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], 0xffffffff
js 0x432db5
jmp 0x432ee0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
sub eax, ecx
cdq
sub eax, edx
mov ebp, eax
mov eax, dword [esp + 0x24]
sar ebp, 1
add ebp, ecx
mov edi, dword [eax + ebp*4]
mov al, byte [edi + 0x14]
and al, 1
jne 0x432f14
cmp dword [esp + 0x64], 0
je 0x432f14
add ebp, 0xffffffff
mov dword [esp + 0x18], ebp
jmp 0x432f96
test al, al
je 0x432f1f
cmp dword [esp + 0x64], 0
je 0x432f8b
mov eax, dword [edi + 8]
test eax, eax
lea ecx, [eax + edi + 0x16]
jne 0x432f2d
lea ecx, [edi + 0x15]
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [ebx + 4]
push ecx
push edx
push eax
call fcn.00403cf0
add esp, 0x10
test eax, eax
jge 0x432f50
add ebp, 0xffffffff
mov dword [esp + 0x18], ebp
jmp 0x432f96
jne 0x432f8b
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x44]
lea edx, [edi + 0x15]
push edx
mov edx, dword [ecx + 4]
push eax
push edx
call fcn.00403cf0
add esp, 0x10
test eax, eax
jge 0x432f7c
add ebp, 0xffffffff
mov dword [esp + 0x18], ebp
jmp 0x432f96
je 0x432b60
lea eax, [ebp + 1]
mov dword [esp + 0x14], eax
jmp 0x432f92
lea ecx, [ebp + 1]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], ebp
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x18]
jle 0x432ee0
jmp 0x432db5
mov dword [esi], 1
jmp 0x432dcd
mov ecx, dword [esp + 0x54]
mov edx, dword [ebx + 4]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [ebp + 4]
push edx
push eax
push ecx
call fcn.004248a0
add esp, 0x14
test eax, eax
je 0x432fef
push eax
push edi
call fcn.004115f0
add esp, 8
test eax, eax
je 0x432fef
push esi
push edi
call fcn.00411d50
add esp, 8
test byte [esi + 0x14], 1
je 0x433021
mov eax, dword [esp + 0x54]
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [ebp + 4]
push ecx
push edx
push eax
call fcn.00424660
add esp, 0x14
test eax, eax
je 0x43305c
push eax
push edi
call fcn.00410810
jmp 0x43304b
mov edx, dword [esp + 0x54]
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [ebp + 4]
push eax
push ecx
push edx
call fcn.004248a0
add esp, 0x14
test eax, eax
je 0x43305c
push eax
push edi
call fcn.00410a50
add esp, 8
test eax, eax
je 0x43305c
push esi
push edi
call fcn.00410b70
add esp, 8
call fcn.00413f60
test byte [esi + 0x14], 1
je 0x4330a5
mov ecx, dword [esp + 0x54]
mov edx, dword [ebx + 4]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [ebp + 4]
push edx
push eax
push ecx
push edi
call fcn.0041d0f0
add esp, 0x18
test eax, eax
je 0x4330ea
mov edx, dword [esp + 0x54]
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
push esi
push edx
mov edx, dword [ebp + 4]
push eax
mov eax, dword [esi]
push ecx
push edx
push 1
push eax
jmp 0x4330e1
mov edx, dword [esp + 0x54]
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [ebp + 4]
push eax
push ecx
push edx
push edi
call fcn.0041d6c0
add esp, 0x18
test eax, eax
je 0x4330ea
mov eax, dword [esp + 0x54]
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x10]
push esi
push eax
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [esi]
push edx
push eax
push 0
push ecx
push edi
call fcn.00411900
add esp, 0x20
test byte [esi + 0x14], 1
je 0x43312e
mov eax, dword [esp + 0x54]
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [ebp + 4]
push ecx
push edx
push eax
push edi
call fcn.0041a060
add esp, 0x18
test eax, eax
je 0x433173
mov ecx, dword [esp + 0x54]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x10]
push esi
push ecx
mov ecx, dword [ebp + 4]
push edx
mov edx, dword [esi]
push eax
push ecx
push 1
push edx
jmp 0x43316a
mov ecx, dword [esp + 0x54]
mov edx, dword [ebx + 4]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [ebp + 4]
push edx
push eax
push ecx
push edi
call fcn.0041a460
add esp, 0x18
test eax, eax
je 0x433173
mov edx, dword [esp + 0x54]
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
push esi
push edx
mov edx, dword [ebp + 4]
push eax
mov eax, dword [esi]
push ecx
push edx
push 0
push eax
push edi
call fcn.00410c90
add esp, 0x20
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x43318d
mov ecx, dword [edi + 0xb4]
push ecx
push eax
call fcn.004395f0
add esp, 8
mov edi, dword [edi + 0x17c]
test edi, edi
jne 0x432e30
lea ecx, [esp + 0x28]
mov dword [esp + 0x38], 0xffffffff
call fcn.0047ca90
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret