Function at 0x443d60
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc8
push ebp
mov ebp, dword [esp + 0xd0]
mov eax, dword [ebp]
push esi
mov esi, dword [esp + 0xd8]
test esi, esi
mov dword [esp + 0x18], 1
mov dword [esp + 0x20], eax
je 0x444b1e
mov cl, byte [eax + 0x1e]
test cl, cl
jne 0x444b1e
mov eax, dword [ebp + 0x40]
test eax, eax
jne 0x444b1e
push 0
push 0
push 0
push 0x15
mov eax, ebp
call fcn.0041ab60
add esp, 0x10
test eax, eax
jne 0x444b1e
push ebx
push edi
mov ecx, 0xb
lea edi, [esp + 0x70]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xe4]
cmp byte [eax], 4
ja 0x443ded
mov ebx, dword [esi + 0x18]
mov edi, dword [esp + 0x28]
call fcn.0040e580
and byte [esi + 6], 0xfe
mov dword [esi + 0x18], 0
push 0
push esi
push ebp
call fcn.00443d00
mov eax, dword [ebp + 0x40]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 8]
add esp, 0xc
test eax, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], edx
jne 0x444aec
mov eax, dword [esp + 0x28]
mov cl, byte [eax + 0x1e]
test cl, cl
jne 0x444aec
xor ecx, ecx
mov cl, byte [esi + 6]
mov edi, ebp
shr ecx, 2
and ecx, 1
mov dword [esp + 0x34], ecx
call fcn.0041c720
test eax, eax
mov dword [esp + 0x10], eax
je 0x444aec
mov eax, dword [esi + 0x1c]
test eax, eax
mov dword [esp + 0x18], 0
jne 0x443f5c
mov eax, dword [esp + 0x38]
lea ebx, [ebx]
movsx edx, word [eax]
mov ecx, dword [esp + 0x18]
cmp ecx, edx
jge 0x443f5c
imul ecx, ecx, 0x38
mov edi, dword [ecx + eax + 0x18]
test edi, edi
lea ebx, [ecx + eax + 8]
je 0x443f48
mov cl, byte [ebx + 0x14]
test cl, cl
jne 0x443f48
mov eax, esi
call fcn.0040e470
mov edx, dword [ebp + 0x220]
add edx, eax
xor eax, eax
mov dword [ebp + 0x220], edx
mov al, byte [edi + 6]
mov edx, dword [esp + 0x34]
shr eax, 2
and eax, 1
push eax
push edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
push eax
push esi
push ebp
call fcn.00422420
add esp, 0x14
test eax, eax
je 0x443ee8
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x443ede
or byte [esi + 6], 4
mov dword [esp + 0x34], 1
mov dword [esp + 0x18], 0xffffffff
jmp 0x443f0a
mov edx, dword [ebx + 0x18]
push 9
lea eax, [esp + 0xcc]
call fcn.0040fcc0
mov ecx, eax
push ecx
push edi
push ebp
call fcn.00443d60
add esp, 0x10
mov byte [ebx + 0x14], 1
mov edx, dword [esp + 0x28]
mov al, byte [edx + 0x1e]
test al, al
jne 0x444aec
mov eax, esi
call fcn.0040e470
mov edi, dword [ebp + 0x220]
mov ecx, dword [esp + 0xe4]
sub edi, eax
mov dword [ebp + 0x220], edi
cmp byte [ecx], 4
mov eax, dword [esi + 8]
mov dword [esp + 0x38], eax
jbe 0x443f48
mov edx, dword [esi + 0x18]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0x1c]
inc edx
test ecx, ecx
mov dword [esp + 0x18], edx
je 0x443e60
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi]
mov dword [esp + 0x14], edx
xor edx, edx
mov dl, byte [esi + 6]
mov dword [esp + 0x40], ecx
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x48], eax
and edx, 1
test ecx, ecx
mov dword [esp + 0x1c], edx
je 0x443ff2
mov eax, dword [esi + 0x24]
test eax, eax
jne 0x443fd5
xor ecx, ecx
xor edx, edx
mov eax, esi
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], esi
mov ecx, eax
mov eax, dword [eax + 0x1c]
inc edx
test eax, eax
jne 0x443f97
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
je 0x443fd5
cmp edx, eax
jle 0x443fd5
push str.too_many_terms_in_compound_SELECT
mov edi, ebp
call fcn.00418b00
add esp, 4
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0xc8
ret
mov ecx, dword [esp + 0xe4]
push ecx
push esi
push ebp
call fcn.00436300
add esp, 0xc
pop edi
pop ebx
pop esi
pop ebp
add esp, 0xc8
ret
mov ecx, dword [eax]
mov eax, dword [esp + 0xe4]
mov edi, ebp
call fcn.0041c260
test eax, eax
jne 0x444aec
mov dl, byte [esi + 6]
and dl, 5
cmp dl, 1
jne 0x444039
mov ecx, dword [esp + 0x28]
push eax
mov eax, dword [esi]
push eax
push ecx
call fcn.00415950
add esp, 0xc
and byte [esi + 6], 0xfe
mov dword [esi + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x24]
mov edi, dword [esi + 0x10]
call fcn.0040eb80
test eax, eax
jne 0x4440e1
mov edx, dword [esp + 0x28]
test byte [edx + 0xc], 0x20
jne 0x4440e1
mov dword [esp + 0x24], 0
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x30], 0xffffffff
mov ecx, dword [esp + 0xe4]
cmp byte [ecx], 9
jne 0x444092
mov edx, dword [esp + 0x48]
mov eax, dword [edx]
mov ecx, dword [ecx + 4]
push ebx
mov edx, 0x29
call fcn.00414e70
add esp, 4
mov eax, ebx
call fcn.00414e90
push eax
mov dword [esp + 0xa0], eax
push esi
mov eax, ebp
call fcn.0041c750
mov eax, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x444126
mov edi, dword [ebp + 0x44]
lea eax, [edi + 1]
mov dword [ebp + 0x44], eax
mov ecx, dword [esi]
push ecx
push ebp
mov dword [esp + 0x44], edi
call fcn.00431bd0
push 0xfffffffffffffff0
push eax
mov edx, edi
push 0x29
xor eax, eax
xor ecx, ecx
mov edi, ebx
call fcn.004197c0
add esp, 0x14
jmp 0x44412e
mov edi, dword [esp + 0x24]
test edi, edi
je 0x444063
push edi
push ebp
call fcn.00431bd0
mov ecx, dword [ebp + 0x44]
mov dword [edi + 8], ecx
inc dword [ebp + 0x44]
mov ecx, dword [edi]
mov edx, dword [edi + 8]
mov ebx, dword [esp + 0x18]
push 0xfffffffffffffff0
push eax
add ecx, 2
push 0x29
xor eax, eax
mov edi, ebx
call fcn.004197c0
add esp, 0x14
mov dword [esp + 0x30], eax
mov dword [esi + 0x40], eax
jmp 0x44406f
mov dword [esp + 0x3c], 0xffffffff
mov eax, dword [esp + 0x34]
test eax, eax
mov edi, dword [esp + 0x14]
jne 0x4441c5
test edi, edi
jne 0x4441c9
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
push edi
lea edx, [esp + 0x28]
push edx
push eax
push ecx
push ebp
call fcn.00440af0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x444aec
mov eax, dword [esp + 0x30]
test eax, eax
jl 0x444190
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x444190
mov ecx, dword [esp + 0x30]
mov eax, 1
mov edx, ebx
call fcn.004150c0
mov dword [esi + 0x40], 0xffffffff
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0xe4]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x50]
push ecx
push 0xffffffffffffffff
push edx
push 0
push 0
push eax
push esi
push ebp
call fcn.00421f10
push edi
call fcn.004174c0
add esp, 0x2c
jmp 0x444a95
test edi, edi
je 0x4441fb
mov eax, dword [esi]
mov ecx, dword [eax]
test ecx, ecx
mov eax, dword [eax + 0xc]
jle 0x4441e2
add eax, 0x10
mov word [eax], 0
add eax, 0x14
dec ecx
jne 0x4441d7
mov ecx, dword [edi]
test ecx, ecx
mov eax, dword [edi + 0xc]
jle 0x4441fb
add eax, 0x10
mov edi, edi
mov word [eax], 0
add eax, 0x14
dec ecx
jne 0x4441f0
mov eax, ebx
call fcn.00414e90
mov edx, dword [esp + 0x38]
xor ecx, ecx
test edi, edi
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0xc0], ecx
lea eax, [esp + 0x70]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], edx
mov dword [esp + 0xc0], eax
je 0x444271
mov ecx, dword [edi]
inc ecx
mov dword [esp + 0x7c], ecx
jmp 0x444279
mov dword [esp + 0x7c], 0
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0xa4]
push eax
mov dword [esp + 0x7c], edx
call fcn.00420650
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0xa8]
push ecx
call fcn.00420650
mov ecx, dword [esp + 0x64]
add esp, 8
test ecx, ecx
je 0x4442ba
lea eax, [esp + 0xa4]
call fcn.00420620
mov eax, dword [esp + 0x94]
test eax, eax
mov edx, dword [esp + 0x84]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x18], 0
jle 0x444314
xor edi, edi
lea ecx, [ecx]
mov eax, dword [esp + 0x90]
mov ecx, dword [edi + eax]
mov ebx, dword [ecx + 0x10]
lea edx, [esp + 0xa4]
push edx
call fcn.00420650
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x98]
add esp, 4
inc eax
add edi, 0x10
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x4442e0
mov eax, dword [esp + 0x28]
mov cl, byte [eax + 0x1e]
test cl, cl
jne 0x444aec
mov eax, dword [esp + 0x14]
xor edi, edi
cmp eax, edi
je 0x444850
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x74], eax
push ecx
inc eax
push ebp
mov dword [ebp + 0x44], eax
call fcn.00431bd0
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x18]
push 0xfffffffffffffff0
push eax
mov dword [esp + 0xb0], eax
push 0x29
xor eax, eax
call fcn.004197c0
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x48]
inc eax
lea ebx, [eax + 1]
mov dword [esp + 0x78], eax
lea eax, [ebx + 1]
mov dword [ebp + 0x48], eax
mov eax, edi
mov dword [esp + 0x7c], ebx
call fcn.00414e90
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x48]
inc eax
mov edx, eax
mov dword [ebp + 0x48], eax
mov eax, edi
mov dword [esp + 0x30], edx
call fcn.00414e90
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x48]
lea ecx, [eax + 1]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add eax, edx
mov dword [ebp + 0x48], eax
mov ecx, dword [ecx]
lea edx, [eax + 1]
add ecx, eax
mov dword [esp + 0x48], edx
mov dword [ebp + 0x48], ecx
push edi
mov eax, ebx
xor ecx, ecx
mov edx, 7
call fcn.00414e70
mov eax, dword [esp + 0x7c]
push edi
xor ecx, ecx
mov edx, 7
call fcn.00414e70
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
push edi
mov edx, 2
call fcn.00414e70
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
push 0
lea edx, [esp + 0x38]
push edx
push eax
push ecx
push ebp
call fcn.00440af0
add esp, 0x34
test eax, eax
mov dword [esp + 0x50], eax
je 0x444aec
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x444439
mov edx, dword [esi + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x40], eax
jmp 0x4445b6
mov edi, dword [eax]
mov ecx, dword [esp + 0x84]
test ecx, ecx
lea eax, [edi + 1]
mov esi, eax
mov dword [esp + 0x40], 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], esi
jle 0x444475
mov edx, dword [esp + 0x80]
add edx, 0xc
cmp dword [edx], eax
jl 0x44446b
inc esi
inc eax
add edx, 0x18
dec ecx
jne 0x444465
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x30]
mov ecx, ebp
call fcn.0040ec60
mov ebx, eax
mov eax, ebp
mov dword [esp + 0x6c], ebx
call fcn.0040eb00
mov eax, dword [esp + 0x14]
push 0
push ebx
mov ecx, ebp
call fcn.00420330
mov ecx, dword [esp + 0x7c]
lea eax, [ebx + edi]
mov edi, dword [esp + 0x18]
push edi
mov edx, 0x35
call fcn.00414e70
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], 0
jle 0x444546
mov eax, dword [esp + 0x80]
lea edi, [ebx + ecx]
xor esi, esi
jmp 0x4444e0
cmp dword [esi + eax + 0xc], ecx
jl 0x44452e
mov ecx, dword [esi + eax + 4]
mov edx, dword [esi + eax + 8]
mov eax, dword [esi + eax]
push edi
push ecx
push edx
push eax
mov ebx, ebp
call fcn.00437690
mov ecx, eax
add esp, 0x10
cmp edi, ecx
je 0x444519
mov edx, dword [esp + 0x10]
push edx
mov eax, edi
mov edx, 0xf
call fcn.00414e70
add esp, 4
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x20], ecx
inc edi
inc dword [esp + 0x18]
mov edx, dword [esp + 0x84]
add esi, 0x18
cmp dword [esp + 0x18], edx
jl 0x4444e0
mov edi, dword [esp + 0x10]
mov eax, ebp
call fcn.0040ec00
mov esi, eax
mov eax, dword [esp + 0x30]
push esi
push eax
push ebx
push 0x1e
mov eax, edi
call fcn.00414dd0
mov ecx, dword [esp + 0x84]
push edi
mov eax, esi
mov edx, 0x46
call fcn.00414e70
mov edx, ebp
call fcn.0040ec20
mov esi, dword [esp + 0x44]
mov ecx, ebx
mov eax, ebp
call fcn.0040ec90
mov ecx, dword [esp + 0x64]
push ecx
call fcn.004174c0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x8c]
push edi
mov edx, 0x40
call fcn.00414e70
add esp, 0x1c
mov eax, ebp
mov byte [esp + 0x71], 1
call fcn.0040eb00
mov eax, dword [esp + 0x10]
call fcn.0040d5c0
mov dword [esp + 0x6c], eax
mov eax, ebp
call fcn.0040eb00
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
xor ebx, ebx
cmp eax, ebx
jle 0x444633
mov dword [esp + 0x20], ebx
lea ebx, [ebx]
mov eax, dword [esp + 0x40]
test eax, eax
mov eax, dword [esp + 0x34]
je 0x444606
mov edx, dword [esp + 0x74]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x10]
push ecx
push ebx
push edx
push 0x1c
call fcn.00414dd0
add esp, 0x10
jmp 0x444623
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x70], 1
mov edx, dword [ecx + 0xc]
lea esi, [ebx + eax]
mov eax, dword [esp + 0x20]
mov eax, dword [edx + eax]
mov edi, ebp
call fcn.00415dc0
add dword [esp + 0x20], 0x14
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
inc ebx
cmp ebx, eax
jl 0x4445e0
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x58]
mov eax, dword [ebx]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
push 0xfffffffffffffffa
push edx
push 0x18
mov edx, esi
call fcn.004197c0
mov eax, edi
call fcn.0040d5c0
mov dword [esp + 0x64], eax
inc eax
push eax
push 0
push eax
push 0x19
mov eax, edi
call fcn.00414dd0
mov eax, dword [ebx]
mov edi, esi
mov esi, dword [esp + 0x50]
push eax
mov ebx, ebp
call fcn.00415c30
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x74]
push esi
inc ecx
mov edx, 2
call fcn.00414e70
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x8c]
push esi
mov edx, 0x71
call fcn.00414e70
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x44]
push esi
mov edx, 2
call fcn.00414e70
mov ecx, dword [esp + 0x84]
push ecx
mov ecx, esi
call fcn.0040d680
lea edx, [esp + 0xa0]
push edx
mov eax, ebp
call fcn.004327a0
mov eax, dword [esp + 0x98]
push esi
mov ecx, 1
mov edx, 7
call fcn.00414e70
mov eax, dword [esp + 0x78]
add esp, 0x38
test eax, eax
je 0x44471d
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x74]
push esi
mov edx, 0x43
call fcn.00414e70
add esp, 4
jmp 0x444740
mov eax, dword [esp + 0x50]
push eax
call fcn.004174c0
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, 1
call fcn.004150c0
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x54]
lea edi, [ebx + 1]
push esi
mov ecx, edi
mov edx, 2
call fcn.00414e70
mov eax, dword [esp + 0x50]
push esi
xor ecx, ecx
mov edx, 1
call fcn.00414e70
mov eax, esi
call fcn.0040d5c0
mov dword [esp + 0x68], eax
push esi
mov eax, ebx
mov ecx, 1
mov edx, 7
call fcn.00414e70
push esi
mov eax, edi
mov ecx, 3
call fcn.00414e50
mov edx, dword [esp + 0x64]
mov ecx, esi
call fcn.0040d4e0
mov eax, esi
call fcn.0040d5c0
mov ecx, dword [esp + 0x74]
mov ebx, eax
lea eax, [ebx + 2]
push esi
mov edx, 0x71
call fcn.00414e70
push esi
mov eax, edi
mov ecx, 3
call fcn.00414e50
lea ecx, [esp + 0x88]
push ecx
mov eax, ebp
call fcn.0041cbc0
mov edx, dword [esp + 0x78]
push 8
inc ebx
push ebx
push edx
push ebp
call fcn.004351c0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x54]
push ebx
push ecx
push edx
push eax
mov eax, dword [esp + 0x120]
mov ecx, dword [eax]
push 0
push 0
push ecx
push eax
push ebp
call fcn.00421f10
add esp, 0x54
push esi
mov eax, edi
mov ecx, 3
call fcn.00414e50
mov edx, dword [esp + 0x48]
mov ecx, esi
call fcn.0040d4e0
push ebp
lea ebx, [esp + 0x78]
call fcn.004326d0
mov eax, dword [esp + 0x24]
push esi
mov ecx, 3
call fcn.00414e50
add esp, 0xc
jmp 0x444a7f
lea edx, [esp + 0x70]
push edx
mov eax, esi
mov dword [esp + 0x48], edi
call fcn.004100f0
mov ebx, eax
add esp, 4
cmp ebx, edi
je 0x444954
mov esi, dword [ebx + 0x44]
mov ecx, dword [ebp]
call fcn.0040fc30
mov esi, eax
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x1c], eax
inc eax
mov dword [ebp + 0x44], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x50], eax
xor edi, edi
mov eax, ebp
mov dword [esp + 0x3c], edi
call fcn.0042cd30
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0x18]
push ecx
push edi
push edx
push esi
mov eax, ebp
call fcn.00416230
mov eax, dword [ebx + 0x14]
add esp, 0x10
test eax, eax
je 0x4448ea
test edi, edi
je 0x4448c0
mov ecx, dword [eax + 4]
cmp ecx, dword [edi + 4]
jge 0x4448c2
mov edi, eax
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x4448b4
test edi, edi
je 0x4448ea
mov edx, dword [edi + 4]
cmp edx, dword [ebx + 0xc]
jge 0x4448ea
mov eax, dword [edi + 0x14]
push edi
push ebp
mov dword [esp + 0x58], eax
call fcn.00430960
add esp, 8
mov edi, eax
jmp 0x4448ee
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x1c]
push esi
mov esi, dword [esp + 0x14]
push ecx
push edx
push 0x26
mov eax, esi
call fcn.00414dd0
add esp, 0x10
test edi, edi
je 0x444920
push esi
mov ecx, 0xfffffff0
mov edx, edi
or eax, 0xffffffff
call fcn.00415110
add esp, 4
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax + 8]
push esi
mov ecx, edi
mov edx, 0x1f
call fcn.00414e70
push esi
mov eax, edi
mov ecx, 0x2b
call fcn.00414e50
mov esi, dword [esp + 0xe8]
jmp 0x444a32
mov eax, esi
mov dword [esp + 0x1c], edi
call fcn.00410090
mov bl, al
test bl, bl
mov byte [esp + 0x2f], bl
je 0x4449a9
mov ecx, dword [esi]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
push edi
mov edi, dword [esp + 0x2c]
push ecx
push edi
call fcn.00415950
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x44], eax
je 0x4449a9
mov cl, byte [edi + 0x1e]
test cl, cl
jne 0x4449a9
mov ecx, dword [eax + 0xc]
cmp bl, 1
setne dl
mov byte [ecx + 0xc], dl
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov byte [eax], 0x98
push ebp
lea ebx, [esp + 0x74]
call fcn.004326d0
movzx cx, byte [esp + 0x33]
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
push ecx
push ebp
call fcn.00440af0
mov ebx, eax
add esp, 0x18
test ebx, ebx
jne 0x4449ea
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x28]
call fcn.0040e580
jmp 0x444aec
lea edx, [esp + 0x70]
push edx
mov eax, ebp
call fcn.004327a0
mov eax, dword [esp + 0x20]
add esp, 4
test eax, eax
jne 0x444a20
mov al, byte [esp + 0x2f]
test al, al
je 0x444a20
mov eax, dword [esp + 0x10]
push eax
mov eax, dword [ebx + 0x14]
xor ecx, ecx
mov edx, 1
call fcn.00414e70
add esp, 4
push ebx
call fcn.004174c0
lea ecx, [esp + 0x74]
push ecx
mov eax, ebp
call fcn.0041cbc0
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x64]
add esp, 8
push 8
push edi
push edx
push ebp
mov dword [esp + 0x34], 0
call fcn.004351c0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esi]
push edi
push edi
push eax
push 0xffffffffffffffff
push 0
push 0
push 0
push ecx
push esi
push ebp
call fcn.00421f10
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x60]
add esp, 0x38
call fcn.0040e580
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
mov ecx, esi
call fcn.0040d4e0
mov esi, dword [esp + 0xe0]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x444ab7
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
push edx
push ecx
push ebx
push esi
push ebp
call fcn.0041c290
add esp, 0x14
mov edx, dword [esp + 0x9c]
mov ecx, ebx
call fcn.0040d4e0
mov edx, dword [esp + 0xe4]
cmp byte [edx], 5
mov dword [esp + 0x20], 0
jne 0x444aec
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x38]
push eax
push ecx
push ebp
call fcn.0042f670
add esp, 0xc
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x28]
push edx
push esi
call fcn.00408130
mov eax, dword [esp + 0x98]
push eax
push esi
call fcn.00408130
mov eax, dword [esp + 0x30]
add esp, 0x10
pop edi
pop ebx
pop esi
pop ebp
add esp, 0xc8
ret
pop esi
mov eax, 1
pop ebp
add esp, 0xc8
ret