Function at 0x4486f0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, ecx
mov dword [esp + 0x1c], edx
push ebx
mov dword [esp + 0x10], eax
xor ecx, ecx
push esi
mov edx, dword [eax]
xor esi, esi
mov eax, 0xa4
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x24]
xor ebx, ebx
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x14]
push edi
xor edi, edi
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], ebx
mov dword [eax + 0x1c], 0xffffffff
test esi, esi
je 0x4487f0
test byte [ecx + 0x18], 6
je 0x44875d
mov dword [esp + 0x28], ebx
jmp 0x4487f0
mov ecx, dword [edx + 0x14]
xor ebx, ebx
mov dword [esp + 0x40], ecx
test ecx, ecx
jle 0x4487b4
mov ecx, dword [edx + 0x10]
mov eax, ecx
mov dword [esp + 0x44], ecx
mov edx, dword [eax]
mov edi, esi
sub edi, edx
nop dword [eax]
movzx eax, byte [edx]
movzx esi, byte [edi + edx]
cmp eax, esi
jne 0x448895
test eax, eax
jne 0x4488a7
mov edx, dword [esp + 0x34]
mov eax, ebx
mov esi, dword [esp + 0x28]
add eax, eax
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + eax*8 + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x30], eax
xor edi, edi
cmp ebx, ecx
jne 0x4487eb
mov edx, str.main
sub esi, edx
nop
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4488ce
test ecx, ecx
jne 0x4488e4
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], eax
xor ebx, ebx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 4]
mov esi, dword [ebp + 8]
mov dword [esp + 0x4c], eax
test eax, eax
je 0x448ad4
xor edx, edx
lea ebx, [eax + 8]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], ebx
cmp dword [eax], edx
jle 0x448aa9
nop word [eax + eax]
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x44], ecx
test eax, eax
je 0x448919
test dword [eax + 4], 0x800
je 0x448919
mov ebx, dword [eax + 0x1c]
xor esi, esi
mov dword [esp + 0x40], 0
cmp dword [ebx], esi
jle 0x44890a
lea edi, [ebx + 4]
push dword [esp + 0x28]
mov edx, dword [ebp + 0xc]
mov ecx, edi
push dword [ebp + 8]
call fcn.00448590
add esp, 8
test eax, eax
je 0x4488ea
mov eax, dword [esp + 0x24]
inc dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], 2
mov word [eax + 0x20], si
mov eax, 1
mov dword [esp + 0x40], eax
jmp 0x4488ee
movzx ecx, byte [eax + 0x4dd0c0]
movzx eax, byte [esi + 0x4dd0c0]
sub ecx, eax
jne 0x4488ad
inc edx
jmp 0x448780
mov eax, dword [esp + 0x44]
inc ebx
mov ecx, dword [esp + 0x40]
add eax, 0x10
mov esi, dword [esp + 0x28]
mov dword [esp + 0x44], eax
cmp ebx, ecx
jge 0x4487b2
jmp 0x448773
movzx eax, byte [eax + 0x4dd0c0]
movzx ecx, byte [ecx + 0x4dd0c0]
sub ecx, eax
jne 0x4487eb
inc edx
jmp 0x4487c0
mov eax, dword [esp + 0x40]
inc esi
add edi, 0x14
cmp esi, dword [ebx]
jl 0x448857
mov edx, dword [esp + 0x2c]
test eax, eax
jne 0x448b52
mov ecx, dword [esp + 0x44]
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x24]
test esi, esi
je 0x448a8a
cmp dword [esp + 0x28], 0
je 0x44892d
mov eax, dword [esp + 0x30]
cmp dword [ecx + 0x48], eax
jne 0x448a8a
test esi, esi
je 0x44899c
mov edi, dword [ebx + 0xc]
mov edx, edi
test edi, edi
jne 0x44893c
mov edx, dword [ecx]
sub esi, edx
nop
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x44897d
test ecx, ecx
jne 0x448993
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xcc], 2
jb 0x44899c
test edi, edi
je 0x44899c
mov eax, dword [eax + 0x114]
test eax, eax
je 0x44899c
mov ecx, dword [ebp + 0x14]
add ecx, 0x2c
cmp dword [eax], ecx
je 0x448996
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x448970
jmp 0x44899c
movzx eax, byte [eax + 0x4dd0c0]
movzx ecx, byte [ecx + 0x4dd0c0]
sub ecx, eax
jne 0x448a86
inc edx
jmp 0x448940
mov dword [eax], 0
mov ecx, dword [esp + 0x1c]
mov eax, ecx
inc ecx
mov dword [esp + 0x1c], ecx
test eax, eax
jne 0x4489af
mov dword [esp + 0x20], ebx
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.00415620
mov cl, al
xor ebx, ebx
mov eax, dword [esp + 0x44]
mov byte [esp + 0x13], cl
mov edi, dword [eax + 4]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x40], eax
test eax, eax
jle 0x448a82
nop dword [eax + eax]
cmp byte [edi + 0xf], cl
jne 0x448a76
mov edx, dword [edi]
sub esi, edx
nop dword [eax]
movzx eax, byte [edx]
movzx ecx, byte [esi + edx]
cmp eax, ecx
jne 0x448a56
test eax, eax
jne 0x448a68
cmp dword [esp + 0x14], 1
jne 0x448a21
mov eax, dword [esp + 0x24]
mov esi, dword [ebp + 0xc]
test byte [eax + 0x24], 4
jne 0x448a6e
mov ecx, dword [eax + 0x34]
mov edx, esi
call fcn.00448520
test eax, eax
jne 0x448a6e
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], eax
inc edi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], edi
movsx eax, word [eax + 0x28]
cmp ebx, eax
jne 0x448b3b
mov ecx, dword [ebp + 0x14]
or eax, 0xffffffff
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov word [ecx + 0x20], ax
jmp 0x448a8e
movzx ecx, byte [ecx + 0x4dd0c0]
movzx eax, byte [eax + 0x4dd0c0]
sub eax, ecx
jne 0x448a6b
inc edx
jmp 0x4489f0
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x40]
mov cl, byte [esp + 0x13]
inc ebx
add edi, 0x14
cmp ebx, eax
jl 0x4489e0
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
inc edx
mov esi, dword [ebp + 8]
add ebx, 0x48
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], ebx
cmp edx, dword [eax]
jl 0x448820
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x448ad4
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebx + 0x2c]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x2c], eax
test byte [ebx + 0x24], 8
je 0x448acd
or dword [ecx + 4], 0x100000
mov eax, dword [eax + 0x48]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x28], 0
mov eax, dword [esp + 0x1c]
jne 0x448e00
test esi, esi
je 0x448e00
test eax, eax
jne 0x448e00
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x2c], ebx
cmp dword [eax + 0x78], ebx
je 0x448ba8
movzx edi, byte [eax + 0x94]
cmp edi, 0x7e
je 0x448b73
mov edx, 0x4e3228
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x448b5b
test ecx, ecx
jne 0x448b6d
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x1c], 1
jmp 0x448b9d
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x2c]
movsx eax, bx
mov ebx, dword [esp + 0x24]
mov word [ecx + 0x20], ax
jmp 0x448a8e
mov ebx, dword [esp + 0x24]
jmp 0x448a8a
movzx eax, byte [eax + 0x4dd0c0]
movzx ecx, byte [ecx + 0x4dd0c0]
sub ecx, eax
jne 0x448b70
inc edx
jmp 0x448b20
mov esi, dword [ebp + 8]
cmp edi, 0x7d
je 0x448ba8
mov edx, 0x4e322c
sub esi, edx
nop
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x448c67
test ecx, ecx
jne 0x448c7d
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x1c], ebx
mov ebx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x78]
mov dword [esp + 0x2c], ebx
mov eax, dword [ebp + 0x10]
test dword [eax + 0x18], 0x200
je 0x448bf0
mov edi, dword [eax + 8]
test edi, edi
je 0x448bf0
mov esi, dword [ebp + 8]
mov edx, str.excluded
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x448c83
test ecx, ecx
jne 0x448c99
mov eax, dword [edi + 0x14]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x2c], ebx
mov dword [eax + 0x1c], 2
test ebx, ebx
je 0x448df4
mov ecx, dword [ebp + 0xc]
call fcn.00415620
mov ecx, dword [ebx + 0x48]
xor esi, esi
mov ebx, dword [ebx + 4]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x13], al
mov dword [esp + 0x1c], 1
movsx edi, word [ecx + 0x2a]
mov dword [esp + 0x44], edi
test edi, edi
jle 0x448cc8
nop dword [eax]
cmp byte [ebx + 0xf], al
jne 0x448cbc
mov edi, dword [ebp + 0xc]
mov edx, dword [ebx]
sub edi, edx
movzx ecx, byte [edx]
movzx eax, byte [edi + edx]
cmp ecx, eax
jne 0x448c9f
test ecx, ecx
jne 0x448cb1
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
movsx eax, word [ebx + 0x28]
cmp esi, eax
mov eax, 0xffffffff
cmove esi, eax
jmp 0x448ccc
movzx eax, byte [eax + 0x4dd0c0]
movzx ecx, byte [ecx + 0x4dd0c0]
sub ecx, eax
jne 0x448ba8
inc edx
jmp 0x448b80
movzx eax, byte [eax + 0x4dd0c0]
movzx ecx, byte [ecx + 0x4dd0c0]
sub ecx, eax
jne 0x448bf0
inc edx
jmp 0x448bc5
movzx eax, byte [eax + 0x4dd0c0]
movzx ecx, byte [ecx + 0x4dd0c0]
sub ecx, eax
jne 0x448cb4
inc edx
jmp 0x448c40
mov edi, dword [esp + 0x44]
mov al, byte [esp + 0x13]
inc esi
add ebx, 0x14
cmp esi, edi
jl 0x448c30
mov ebx, dword [esp + 0x2c]
cmp esi, edi
jl 0x448cf3
mov ecx, dword [ebp + 0xc]
call fcn.0044d5e0
test eax, eax
je 0x448ceb
test dword [ebx + 0x24], 0x200
mov eax, 0xffffffff
cmove esi, eax
cmp esi, edi
jge 0x448df4
mov edx, dword [ebp + 0x14]
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
mov eax, dword [edx + 0x1c]
cmp eax, 2
jne 0x448d5f
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xcc], 2
jb 0x448d28
mov word [edx + 0x20], si
mov dword [edx + 0x2c], ebx
mov dword [esp + 0x38], 0xa4
jmp 0x448df8
mov edx, esi
mov ecx, ebx
call fcn.0045aed0
mov esi, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov ebx, dword [esp + 0x20]
movsx ecx, ax
mov eax, dword [esi + 8]
mov dword [esp + 0x38], 0xad
add ecx, dword [eax + 0x18]
or dword [edx + 4], 0x400000
mov eax, dword [esp + 0x1c]
mov dword [edx + 0x1c], ecx
jmp 0x448e03
test esi, esi
jns 0x448d7b
mov byte [edx + 1], 0x44
mov dword [edx + 0x2c], ebx
mov word [edx + 0x20], si
mov dword [esp + 0x38], 0x4d
jmp 0x448df8
test eax, eax
jne 0x448dc6
cmp esi, 0x20
jl 0x448da2
mov ecx, dword [esp + 0x18]
or eax, 0xffffffff
mov dword [esp + 0x38], 0x4d
or dword [ecx + 0x8c], eax
mov dword [edx + 0x2c], ebx
mov word [edx + 0x20], si
jmp 0x448df8
mov ecx, esi
mov dword [esp + 0x38], 0x4d
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
or dword [ecx + 0x8c], eax
mov dword [edx + 0x2c], ebx
mov word [edx + 0x20], si
jmp 0x448df8
cmp esi, 0x20
jl 0x448dd0
or eax, 0xffffffff
jmp 0x448dd9
mov eax, 1
mov ecx, esi
shl eax, cl
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], 0x4d
or dword [ecx + 0x90], eax
mov dword [edx + 0x2c], ebx
mov word [edx + 0x20], si
jmp 0x448df8
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov esi, dword [ebp + 0x10]
test edi, edi
jne 0x448e49
cmp eax, 1
jne 0x448e49
test ebx, ebx
je 0x448e49
test byte [esi + 0x18], 0x28
mov esi, dword [ebp + 0xc]
jne 0x448e4c
mov ecx, esi
call fcn.0044d5e0
test eax, eax
je 0x448e4c
mov eax, dword [ebx + 0x10]
test dword [eax + 0x24], 0x200
jne 0x448e4c
mov eax, dword [ebp + 0x14]
mov edi, 1
or ecx, 0xffffffff
mov dword [esp + 0x14], edi
mov word [eax + 0x20], cx
mov byte [eax + 1], 0x44
jmp 0x448e4c
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
test byte [ebx + 0x18], 0x80
je 0x448ee8
test edi, edi
jne 0x4490c8
mov edx, dword [ebp + 8]
test edx, edx
jne 0x448ef3
mov ecx, dword [ebx + 8]
mov dword [esp + 0x44], edx
mov eax, dword [ecx]
mov dword [esp + 0x4c], eax
test eax, eax
jle 0x448ef0
lea ebx, [ecx + 0x10]
test byte [ebx], 3
mov edi, dword [ebx - 8]
jne 0x448ebe
test edi, edi
jne 0x448e94
mov ecx, esi
neg ecx
sbb ecx, ecx
jmp 0x448eba
test esi, esi
je 0x448ebe
mov edx, edi
sub esi, edi
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x448ed3
test ecx, ecx
jne 0x448ee5
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov esi, dword [ebp + 0xc]
test ecx, ecx
je 0x448f0e
inc edx
add ebx, 0x14
mov dword [esp + 0x44], edx
cmp edx, eax
jl 0x448e80
mov edi, dword [esp + 0x14]
mov ebx, dword [ebp + 0x10]
jmp 0x448ef0
movzx eax, byte [eax + 0x4dd0c0]
movzx ecx, byte [ecx + 0x4dd0c0]
sub ecx, eax
jne 0x448eaf
inc edx
jmp 0x448ea0
test edi, edi
jne 0x4490c8
mov edx, dword [ebp + 8]
mov ebx, dword [ebx + 0xc]
inc dword [esp + 0x48]
mov dword [ebp + 0x10], ebx
test ebx, ebx
je 0x449000
mov ebx, dword [esp + 0x20]
jmp 0x4487ed
mov ebx, dword [ebp + 0x10]
lea eax, [edx + edx*4]
mov esi, dword [ebx + 8]
mov ecx, dword [ebx + 0x18]
mov eax, dword [esi + eax*4 + 4]
test cl, 1
jne 0x448f47
test byte [eax + 4], 0x10
je 0x448f47
push edi
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x20]
call fcn.00415420
add esp, 0xc
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [eax + 4], 0x8000
je 0x448f68
test ecx, 0x4000
je 0x448f60
mov ecx, dword [esp + 0x3c]
cmp ebx, ecx
je 0x448f68
push edi
push str.misuse_of_aliased_window_function__s
jmp 0x448f2f
mov cl, byte [eax]
cmp cl, 0xad
jne 0x448f72
mov cl, byte [eax + 2]
cmp cl, 0xae
jne 0x448f7c
mov eax, dword [eax + 0x14]
jmp 0x448f87
cmp cl, 0x88
jne 0x448fab
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
je 0x448fab
push str.row_value_misused
push dword [esp + 0x1c]
call fcn.00415420
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x48]
mov ebx, dword [ebp + 0x14]
push ecx
push 0x4db2a0
push ebx
push edx
mov edx, esi
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.004483f0
add esp, 0x10
cmp byte [esi + 0xcc], 2
jb 0x449206
mov eax, dword [esi + 0x114]
test eax, eax
je 0x449206
cmp dword [eax], ebx
je 0x448ff5
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x448fe5
jmp 0x449206
mov dword [eax], 0
jmp 0x449206
test edx, edx
jne 0x4490d0
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax + 4]
test bl, 0x40
je 0x449067
mov eax, dword [esp + 0x34]
cmp byte [eax + 0xa5], dl
jne 0x44909f
mov ecx, dword [esp + 0x3c]
test dword [ecx + 0x18], 0x10000
je 0x449092
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x54], eax
mov eax, ecx
and eax, 0x10000001
mov dword [esp + 0x4c], edx
cmp eax, 1
jne 0x449059
test edx, edx
jne 0x449059
mov eax, ecx
and eax, 0x40000000
or eax, edx
jne 0x44909f
and ecx, 0x20000000
or ecx, 0
jne 0x44909f
mov eax, dword [ebp + 0x14]
test ebx, 0x4000000
jne 0x4490d0
mov ecx, dword [eax + 8]
call fcn.0044cfd0
test eax, eax
je 0x4490cd
mov ecx, dword [ebp + 0x14]
or ebx, eax
mov eax, 1
mov byte [ecx], 0xa7
mov dword [ecx + 4], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x20]
and eax, 0x40000000
or eax, 0
je 0x449064
push esi
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.00414780
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov byte [eax], 0x73
mov dword [eax + 0x2c], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 1
je 0x449138
mov edx, dword [ebp + 8]
test edi, edi
mov ecx, str.ambiguous_column_name
mov eax, str.no_such_column
cmovne eax, ecx
mov ecx, dword [esp + 0x28]
push esi
test ecx, ecx
je 0x4490fe
push edx
push ecx
push eax
push str._s:__s._s._s
push dword [esp + 0x2c]
call fcn.00415420
add esp, 0x18
jmp 0x449129
test edx, edx
je 0x449117
push edx
push eax
push str._s:__s._s
push dword [esp + 0x28]
call fcn.00415420
add esp, 0x14
jmp 0x449129
push eax
push str._s:__s
push dword [esp + 0x24]
call fcn.00415420
add esp, 0x10
mov eax, dword [esp + 0x18]
mov byte [eax + 0x11], 1
mov eax, dword [esp + 0x3c]
inc dword [eax + 0x14]
mov ebx, dword [ebp + 0x14]
movzx eax, word [ebx + 0x20]
test ax, ax
js 0x4491be
cmp dword [esp + 0x20], 0
je 0x4491be
mov edx, dword [ebx + 0x2c]
movsx esi, ax
test byte [edx + 0x24], 0x60
je 0x449194
mov eax, dword [edx + 4]
lea ecx, [esi + esi*4]
test byte [eax + ecx*4 + 0x10], 0x60
je 0x449194
movzx eax, word [edx + 0x2a]
cmp ax, 0x40
jl 0x449176
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x4491b4
xor ecx, ecx
cwde
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
jmp 0x4491b4
cmp esi, 0x40
mov eax, 0x3f
cmovge esi, eax
xor ecx, ecx
xor edx, edx
bts ecx, esi
cmp esi, 0x20
cmovae edx, ecx
xor ecx, edx
cmp esi, 0x40
cmovae edx, ecx
mov eax, dword [esp + 0x20]
or dword [eax + 0x38], ecx
or dword [eax + 0x3c], edx
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x34]
test edx, edx
je 0x4491d0
mov ecx, esi
call fcn.0044bcc0
mov edx, dword [ebx + 0x10]
mov dword [ebx + 0xc], 0
test edx, edx
je 0x4491e5
mov ecx, esi
call fcn.0044bcc0
mov eax, dword [esp + 0x38]
or dword [ebx + 4], 0x800000
mov dword [ebx + 0x10], 0
mov byte [ebx], al
cmp edi, 1
jne 0x448f3b
mov esi, dword [esp + 0x18]
test dword [ebx + 4], 0x400000
jne 0x449225
mov eax, dword [ebp + 0x10]
mov edx, ebx
mov ecx, esi
push dword [eax + 4]
push dword [esp + 0x34]
call fcn.00459270
add esp, 8
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebp + 0x10]
inc dword [ecx + 0x10]
cmp ecx, eax
je 0x44923d
mov ecx, dword [ecx + 0xc]
inc dword [ecx + 0x10]
cmp ecx, eax
jne 0x449233
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret