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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x108
mov eax, dword [0x52efc0]
mov ebx, dword [ebp + 8]
mov edi, ecx
mov ecx, dword [ebp + 0x10]
xor eax, ebp
mov dword [esp + 0x100], eax
mov dword [ebx + 4], 0
mov dword [ebx], 0
cmp byte [ecx], 0
je 0x451aeb
lea esi, [edi + 0x194]
mov ecx, esi
call fcn.0044a7a0
test eax, eax
jne 0x451aeb
mov eax, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edx
mov ecx, esi
push esi
call fcn.0044a6f0
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x14], esi
test al, 4
je 0x451122
mov ecx, dword [edi + 0xd8]
mov edx, dword [edi + 0xdc]
and eax, 0x300
mov esi, ecx
cmove esi, eax
cmovne eax, edx
xor dword [esp + 0x30], edx
xor dword [esp + 0x2c], ecx
xor dword [esp + 0x34], esi
xor ebx, eax
mov dword [esp + 0x28], ebx
mov edx, dword [edi + 0xec]
mov eax, dword [ebp + 0x30]
mov esi, dword [edi + 0xe8]
mov dword [esp + 0x18], edi
mov ecx, edx
mov edi, eax
mov eax, dword [eax]
xor ecx, 0x80000000
or ecx, esi
mov ecx, dword [edi + 4]
je 0x451187
mov edi, esi
mov ebx, edx
not edi
xor ebx, 0x7fffffff
or ebx, edi
jne 0x4511b0
mov edx, 0xffffffff
xor ecx, 0x7fffffff
not eax
mov esi, 0x7fffffff
add edx, 1
adc esi, 0
or ecx, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], esi
jne 0x451208
int3
mov edx, 0xffffffff
mov dword [esp + 0x20], 0x7fffffff
mov dword [esp + 0x24], 0xffffffff
add edx, 1
mov edx, 0x7fffffff
adc edx, 0
xor ecx, edx
or eax, ecx
jne 0x451208
int3
test edx, edx
setns bl
test ecx, ecx
setns bh
cmp bh, bl
setne byte [esp + 4]
sub eax, esi
sbb ecx, edx
mov dword [esp + 0x24], eax
setns bl
mov dword [esp + 0x20], ecx
cmp bh, bl
setne bl
and bl, byte [esp + 4]
cmp bl, 1
jne 0x451208
mov esi, 0xffffffff
mov edi, 0x7fffffff
mov eax, 0xffffffff
mov ecx, 0x7fffffff
add esi, 1
adc edi, 0
test edx, edx
cmovs esi, eax
cmovs edi, ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], edi
call fcn.0045c4f0
mov ebx, dword [ebp + 0x10]
test al, al
je 0x451223
lea eax, [esp + 0x50]
push eax
call fcn.0045c1f0
add esp, 4
jmp 0x451233
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
xor eax, eax
mov esi, dword [esp + 0x18]
test byte [ebx], 1
je 0x451250
mov ecx, esi
call fcn.0044bd60
lea ecx, [esi + 0x184]
call fcn.0044a7a0
mov esi, dword [ebp + 0x2c]
mov dword [esp + 0x38], eax
call fcn.00449410
cmp esi, eax
jne 0x4513cc
call fcn.00449500
mov ecx, eax
call fcn.0044a730
mov ecx, dword [0x531c8c]
mov edi, eax
test cl, 1
je 0x451bd7
mov esi, dword [0x531c88]
mov ecx, esi
call fcn.0044a7a0
test edi, edi
je 0x4513cc
cmp edi, eax
je 0x4513cc
cmp byte [edi], 0
je 0x4513cc
mov ecx, dword [0x531c88]
mov dword [esp + 8], edi
push edi
call fcn.0044a6f0
mov edi, dword [esp + 0x18]
lea ecx, [edi + 8]
mov dword [esp + 0x10], ecx
call fcn.00448a40
lea eax, [edi + 0x88]
mov edi, dword [edi + 0x8c]
mov dword [esp + 4], eax
test edi, edi
je 0x45138b
mov eax, edi
mov ecx, edi
mov esi, dword [ebp + 0x2c]
shr eax, 1
and eax, 0x55555555
sub ecx, eax
mov eax, ecx
shr ecx, 2
and eax, 0x33333333
and ecx, 0x33333333
add ecx, eax
mov eax, ecx
shr eax, 4
add eax, ecx
and eax, 0xf0f0f0f
imul edx, eax, 0x1010101
shr edx, 0x18
cmp edx, 1
jbe 0x45132f
cmp esi, edi
mov ebx, esi
jb 0x451334
mov ecx, edx
mov eax, esi
xor edx, edx
div edi
mov ebx, edx
mov edx, ecx
jmp 0x451334
lea ebx, [edi - 1]
and ebx, esi
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov eax, dword [eax + ebx*4]
test eax, eax
je 0x45138b
mov ecx, dword [eax]
test ecx, ecx
je 0x45138b
lea eax, [edi - 1]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], eax
jmp 0x451363
cmp dword [ecx + 8], esi
je 0x451b05
mov ecx, dword [ecx]
test ecx, ecx
je 0x45138b
mov eax, dword [ecx + 4]
cmp eax, esi
je 0x451354
cmp edx, 1
jbe 0x451383
cmp eax, edi
jb 0x451387
xor edx, edx
div edi
mov eax, edx
mov edx, dword [esp + 0x1c]
cmp eax, ebx
je 0x45135d
jmp 0x45138b
and eax, dword [esp + 0xc]
cmp eax, ebx
je 0x45135d
mov ecx, dword [esp + 4]
lea eax, [ebp + 0x2c]
lea edx, [esp + 0x5c]
lea esi, [esp + 0x40]
lea edi, [esp + 0x60]
mov dword [esp + 0x40], eax
push edx
push esi
push 0x4edde0
push eax
push edi
call fcn.00454ef0
mov ecx, dword [esp + 0x60]
add ecx, 0xc
push dword [esp + 8]
call fcn.00427cbc
mov ecx, dword [esp + 0x10]
call fcn.00448a50
mov ebx, dword [ebp + 0x10]
mov al, byte [ebx]
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x14]
test al, 8
je 0x4513f4
sub esp, 0x18
movsx eax, byte [ebp + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0044df50
add esp, 0x18
mov al, byte [ebx]
mov edi, dword [esp + 0x18]
test al, 1
je 0x451580
mov esi, dword [edi + 0x1d0]
test esi, esi
je 0x451580
mov eax, dword [esp + 0x24]
movaps xmm0, xmmword [0x4e91c0]
mov ecx, dword [ebp + 0x38]
lea edi, [esp + 0xa4]
lea edx, [esp + 0xa8]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x18]
movups xmmword [esp + 0x70], xmm0
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xa0], ebx
mov ebx, dword [ebp + 0x34]
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0xa8], 0
mov byte [esp + 0xb0], 0
test ebx, ebx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x90]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xdc], ecx
mov cl, byte [ebp + 0xc]
mov byte [esp + 0xe0], cl
lea ecx, [esp + 0xb0]
je 0x45150a
cmp ecx, ebx
je 0x45150a
movsd xmm0, qword [ebx + 0x18]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [ebx + 0x10]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov byte [ebx], 0
mov ebx, dword [ebp + 0x38]
and ebx, 1
push eax
push edi
push ebx
push edx
call fcn.0044cdc0
xor eax, eax
cmp dword [esp + 0x38], 0
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x60]
setne al
push ebx
push eax
push ecx
call esi
add esp, 0xc
mov al, byte [esp + 0xb0]
test al, al
je 0x451753
xor esi, esi
cmp byte [esp + esi + 0xb1], 8
je 0x451566
nop dword [eax]
inc esi
movzx ecx, al
cmp esi, ecx
jae 0x451753
cmp byte [esp + esi + 0xb1], 8
jne 0x451550
mov ecx, dword [esp + esi*8 + 0xc0]
test ecx, ecx
je 0x451550
mov eax, dword [ecx]
push 1
call dword [eax]
mov al, byte [esp + 0xb0]
jmp 0x451550
test al, 0x10
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0xc], 0
jne 0x4515ba
mov esi, dword [esp + 0x14]
xor eax, eax
mov ebx, dword [ebp + 0x38]
test al, al
je 0x451805
jmp 0x451a11
push 0x88
call fcn.004aea96
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x20]
movsd xmm0, qword [esp + 0x50]
movaps xmm1, xmmword [0x4e91c0]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x14]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x24]
mov dword [edi], eax
movsd qword [edi + 8], xmm0
movups xmmword [edi + 0x10], xmm1
movups xmmword [edi + 0x20], xmm1
mov dword [edi + 0x30], edx
mov edx, dword [esp + 0x30]
lea eax, [edi + 0x30]
mov dword [esp + 4], eax
lea eax, [edi + 0x50]
mov dword [edi + 0x3c], edx
mov edx, dword [esp + 0x2c]
mov dword [edi + 0x38], edx
mov dword [edi + 0x40], ebx
mov dword [edi + 0x44], esi
mov dword [edi + 0x48], 0
mov byte [edi + 0x50], 0
mov dword [edi + 0x70], ecx
mov ebx, dword [ebp + 0x38]
mov ecx, dword [esp + 0x28]
lea edx, [edi + 0x44]
lea esi, [edi + 0x48]
mov dword [edi + 0x74], ebx
mov dword [edi + 0x7c], ecx
mov ecx, dword [esp + 0x34]
mov dword [edi + 0x78], ecx
mov cl, byte [ebp + 0xc]
mov byte [edi + 0x80], cl
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x45167f
cmp eax, ecx
je 0x45167f
movsd xmm0, qword [ecx + 0x18]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [ecx + 0x10]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov byte [ecx], 0
and ebx, 1
mov dword [esp + 0x10], eax
mov ecx, eax
push dword [esp + 4]
push edx
push ebx
mov dword [esp + 0x28], esi
push esi
call fcn.0044cdc0
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 4]
mov al, 1
test ebx, ebx
je 0x451788
mov edx, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 8], eax
test bl, 1
jne 0x4516d2
nop word [eax + eax]
shr ebx, 1
add esi, 4
test ebx, ebx
je 0x451770
test bl, 1
je 0x4516c0
mov eax, dword [0x531ca0]
test al, 1
mov dword [esp + 4], eax
je 0x45171a
mov eax, dword [0x531c9c]
mov eax, dword [eax]
mov ecx, dword [eax + esi]
test ecx, ecx
je 0x4516c0
mov eax, dword [esp + 4]
test al, 1
je 0x451c0d
mov eax, dword [ecx]
push edi
call dword [eax + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
test al, al
mov eax, 0
movzx ecx, cl
cmovne ecx, eax
mov dword [esp + 8], ecx
jmp 0x4516c0
mov eax, dword [esp + 4]
or eax, 1
mov dword [esp + 4], eax
mov dword [0x531ca0], eax
push 0xc
call fcn.004aea96
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [0x531c9c], eax
jmp 0x4516e4
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x451767
push eax
call fcn.00459fc0
add esp, 4
mov esi, dword [esp + 0x14]
jmp 0x451ae2
cmp byte [esp + 8], 0
jne 0x451790
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jmp 0x4515a8
mov edx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov al, byte [edx]
mov ebx, dword [ebp + 0x38]
test al, al
je 0x4517d5
xor esi, esi
cmp byte [edi + esi + 0x51], 8
je 0x4517bf
nop word cs:[eax + eax]
nop dword [eax]
inc esi
movzx ecx, al
cmp esi, ecx
jae 0x4517d5
cmp byte [edi + esi + 0x51], 8
jne 0x4517b0
mov ecx, dword [edi + esi*8 + 0x60]
test ecx, ecx
je 0x4517b0
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x10]
mov al, byte [eax]
jmp 0x4517b0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x4517e8
push eax
call fcn.00459fc0
add esp, 4
push edi
call fcn.004aeac6
add esp, 4
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 8]
test al, al
jne 0x451a11
mov eax, dword [ebp + 0x10]
mov al, byte [eax]
and al, 1
je 0x451a11
mov ecx, dword [esp + 0x38]
lea eax, [edi + 4]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x451835
push dword [ebp + 8]
call fcn.0044eeb0
mov ecx, eax
mov dword [esp + 8], 0
jmp 0x451850
mov ecx, eax
call fcn.00448a40
mov ecx, edi
push 1
push dword [ebp + 8]
call fcn.00450da0
mov ecx, eax
mov al, 1
mov dword [esp + 8], eax
mov edx, dword [esp + 0x28]
test ecx, ecx
mov dword [esp + 4], ecx
je 0x45197f
mov eax, dword [esp + 0xc]
test eax, eax
je 0x45193a
mov ebx, dword [esp + 4]
mov ecx, 0x12
mov esi, eax
mov edi, ebx
cmp ebx, eax
rep movsd dword es:[edi], dword [esi]
mov edi, eax
je 0x451910
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x451895
push eax
call fcn.00459fc0
add esp, 4
mov eax, dword [edi + 0x48]
lea esi, [ebx + 0x50]
mov dword [ebx + 0x48], eax
mov dword [edi + 0x48], 0
mov al, byte [ebx + 0x50]
test al, al
je 0x4518e1
xor edi, edi
cmp byte [ebx + edi + 0x51], 8
je 0x4518cf
nop word cs:[eax + eax]
nop
inc edi
movzx ecx, al
cmp edi, ecx
jae 0x4518e1
cmp byte [ebx + edi + 0x51], 8
jne 0x4518c0
mov ecx, dword [ebx + edi*8 + 0x60]
test ecx, ecx
je 0x4518c0
mov eax, dword [ecx]
push 1
call dword [eax]
mov al, byte [esi]
jmp 0x4518c0
mov edi, dword [esp + 0xc]
movsd xmm0, qword [edi + 0x68]
movsd qword [esi + 0x18], xmm0
movsd xmm0, qword [edi + 0x60]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [edi + 0x50]
movsd xmm1, qword [edi + 0x58]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
mov byte [edi + 0x50], 0
mov al, byte [edi + 0x80]
mov esi, dword [esp + 0x14]
mov byte [ebx + 0x80], al
movsd xmm0, qword [edi + 0x70]
movsd xmm1, qword [edi + 0x78]
mov edi, dword [esp + 0x18]
movsd qword [ebx + 0x78], xmm1
movsd qword [ebx + 0x70], xmm0
jmp 0x45197f
movsx eax, byte [ebp + 0xc]
mov ecx, dword [esp + 4]
push ebx
push dword [ebp + 0x34]
push edx
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x84]
push dword [esp + 0x84]
push dword [esp + 0x58]
push dword [esp + 0x60]
push dword [ebp + 0x2c]
call fcn.0044e810
mov eax, dword [edi + 0xf0]
test al, 8
je 0x451a01
mov al, byte [ebp + 0xc]
mov ecx, 0x42
cmp al, 0x58
movzx eax, al
cmovne ecx, eax
lea eax, [esp + 0x60]
movzx edx, cl
mov ecx, edi
push dword [esp + 4]
push dword [ebp + 0x30]
push edx
push eax
call fcn.00451c40
cmp byte [esp + 0x4b], 0
js 0x4519c3
mov byte [esp + 0x40], 0
mov byte [esp + 0x4b], 0
jmp 0x4519ed
mov eax, dword [esp + 0x40]
mov byte [eax], 0
mov dword [esp + 0x44], 0
cmp byte [esp + 0x4b], 0
jns 0x4519ed
push dword [esp + 0x40]
call fcn.004aeac6
add esp, 4
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x60]
mov dword [esp + 0x48], eax
movsd qword [esp + 0x40], xmm0
cmp byte [esp + 8], 0
je 0x451a11
mov ecx, dword [esp + 0x10]
call fcn.00448a50
movzx ebx, byte [esp + 0x4b]
test bl, bl
mov edi, ebx
jns 0x451a20
mov edi, dword [esp + 0x44]
test edi, edi
je 0x451a71
push 2
call fcn.004359f0
add esp, 4
test al, al
je 0x451a71
lea esi, [esp + 0x60]
mov ecx, esi
push 2
push 0x521
push str...._.._base_trace_event_trace_log.cc
call fcn.00435a80
test bl, bl
lea eax, [esp + 0x64]
jns 0x451a57
mov ecx, dword [esp + 0x40]
jmp 0x451a5b
lea ecx, [esp + 0x40]
push edi
push ecx
push eax
call fcn.0040372d
add esp, 0xc
mov ecx, esi
call fcn.00435e20
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
mov ebx, dword [ebp + 8]
test edi, edi
je 0x451acf
mov al, byte [edi + 0x50]
test al, al
je 0x451ab2
xor esi, esi
cmp byte [edi + esi + 0x51], 8
je 0x451a9f
nop dword [eax]
inc esi
movzx ecx, al
cmp esi, ecx
jae 0x451ab2
cmp byte [edi + esi + 0x51], 8
jne 0x451a90
mov ecx, dword [edi + esi*8 + 0x60]
test ecx, ecx
je 0x451a90
mov eax, dword [ecx]
push 1
call dword [eax]
mov al, byte [edi + 0x50]
jmp 0x451a90
mov eax, dword [edi + 0x48]
test eax, eax
je 0x451ac2
push eax
call fcn.00459fc0
add esp, 4
push edi
call fcn.004aeac6
add esp, 4
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x4b], 0
jns 0x451ae2
push dword [esp + 0x40]
call fcn.004aeac6
add esp, 4
mov ecx, esi
push 0
call fcn.0044a6f0
mov ecx, dword [esp + 0x100]
xor ecx, ebp
call fcn.004aeb01
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x34
movzx eax, byte [ecx + 0x17]
lea edi, [ecx + 0xc]
mov edx, edi
test al, al
jns 0x451b18
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
lea ecx, [esp + 0x60]
push 1
push 0
push 1
push 0x4e34d0
push eax
push edx
push ecx
call fcn.00445010
add esp, 0x1c
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x1c], esi
sub esi, ebx
je 0x451ba6
mov dword [esp + 0x3c], edi
push dword [esp + 8]
call fcn.004ceea0
add esp, 4
lea edi, [ebx + 8]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
cmp dword [edi - 4], eax
je 0x451b71
mov ebx, edi
add edi, 8
add esi, 0xfffffff8
je 0x451b8f
cmp dword [edi - 4], eax
jne 0x451b62
push eax
push dword [esp + 0xc]
push dword [edi - 8]
call fcn.004b67bd
add esp, 0xc
test eax, eax
mov eax, dword [esp + 4]
jne 0x451b62
cmp dword [esp + 0x1c], ebx
jne 0x451bb9
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x3c]
cmp eax, dword [esp + 0xc]
je 0x451ba6
mov ecx, edi
push 0x2c
call fcn.00427c4e
mov ecx, edi
push dword [esp + 8]
call fcn.00427b62
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4513c0
mov dword [esp + 0x64], eax
push eax
call fcn.004aeac6
add esp, 4
jmp 0x4513c0
or ecx, 1
mov dword [0x531c8c], ecx
push 8
call fcn.004aea96
add esp, 4
mov esi, eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov ecx, eax
push 0
call fcn.0044aaf0
mov dword [0x531c88], esi
jmp 0x451287
or eax, 1
mov dword [0x531ca0], eax
push 0xc
call fcn.004aea96
add esp, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [0x531c9c], eax
ud2