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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x452c
call fcn.00468890
mov eax, dword [0x55d68c]
xor eax, esp
mov dword [esp + 0x4528], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0x10]
push edi
xor edi, edi
mov dword [esp + 0x18], eax
or eax, 0xffffffff
mov dword [esp + 0x30], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x14], edi
cmp esi, edi
je 0x451df6
cmp ecx, edi
je 0x451df6
mov dword [esi], 0x64
mov dword [ecx], edi
cmp edx, edi
jne 0x4511e4
mov dword [esi], 0x74
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4528]
xor ecx, esp
call fcn.00455328
mov esp, ebp
pop ebp
ret
cmp ebx, edi
jne 0x4511f1
mov ebx, 0x54a53c
mov dword [esp + 0x1c], ebx
test dword [ebp + 0xc], 0x1c000000
jne 0x451df0
test dword [ebx + 0x24], 0xfffffff0
jne 0x451df0
mov ecx, dword [ebp + 0xc]
and ecx, 0x2000000
mov dword [esp + 0x24], ecx
je 0x451249
test dword [ebp + 0xc], 0x1d76fef3
jne 0x45122c
test dword [ebx + 0x24], 0xfffffff3
je 0x451249
mov dword [esi], 0xc0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4528]
xor ecx, esp
call fcn.00455328
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jne 0x451262
xor ecx, ecx
cmp byte [edx], cl
je 0x45125e
inc ecx
cmp byte [edx + ecx], 0
jne 0x451257
mov dword [esp + 0x18], ecx
cmp ecx, dword [ebx + 0x18]
jbe 0x451284
mov dword [esi], 0xbc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4528]
xor ecx, esp
call fcn.00455328
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x14]
cmp ecx, edi
jne 0x451290
mov ecx, 0x549fc0
lea esi, [ecx + 0x100]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], esi
lea esi, [ecx + 0x200]
add ecx, 0x340
mov dword [esp + 0x70], ecx
xor ecx, ecx
mov word [esp + 0xbe], cx
mov ecx, dword [esp + 0x18]
add ecx, edx
mov dword [esp + 0x80], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xcc], ecx
lea ecx, [esp + 0x250]
mov dword [esp + 0xe4], ecx
xor ecx, ecx
mov word [esp + 0xba], cx
lea ecx, [esp + 0x160]
mov dword [esp + 0xc4], ecx
xor ecx, ecx
mov word [esp + 0xb8], cx
mov word [esp + 0xbc], cx
lea ecx, [esp + 0x650]
mov dword [esp + 0xdc], ecx
lea ecx, [esp + 0x1650]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x7c], edx
mov edx, ecx
xor ebx, ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0xd4], edi
mov dword [esp + 0x118], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xd0], edi
mov dword [esp + 0x114], edi
mov dword [esp + 0xd8], edi
mov dword [esp + 0x104], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0xc8], 0x14
mov dword [esp + 0xc0], edi
mov dword [esp + 0x108], edi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x88], 0x1770
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
cmp dword [esp + 0x24], edi
jne 0x45145a
cmp dword [esp + 0x18], 2
jb 0x45145a
mov eax, dword [esp + 0x30]
cmp byte [eax + ebx], 0x28
jne 0x45145a
mov ecx, eax
cmp byte [ecx + ebx + 1], 0x2a
jne 0x45145a
mov edx, dword [esp + 0x18]
xor eax, eax
sub edx, ebx
add edx, 0xfffffffe
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], edx
mov esi, 0x567270
mov dword [esp + 0x34], eax
movzx ecx, word [esi + 4]
cmp dword [esp + 0x24], ecx
jb 0x451441
mov eax, dword [esp + 0x30]
lea edx, [eax + ebx + 2]
mov eax, dword [esi]
call fcn.00452280
test eax, eax
je 0x451481
mov eax, dword [esp + 0x34]
inc dword [esp + 0x10]
add eax, 0xc
add esi, 0xc
mov dword [esp + 0x34], eax
cmp eax, 0xfc
jb 0x451424
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xcc]
add eax, ebx
mov dword [esp + 0x10], eax
test ecx, 0xa0000
je 0x45157f
mov eax, 0x84
jmp 0x451d58
movzx eax, word [esi + 6]
movzx ecx, word [esi + 4]
mov dword [esp + 0x24], eax
movzx eax, ax
lea ebx, [ebx + ecx + 2]
cmp eax, 6
ja case.default.0x45149d
jmp dword [eax*4 + 0x451e10]
mov edx, dword [esi + 8]
or dword [esp + 0xcc], edx
jmp case.default.0x45149d
mov eax, dword [esi + 8]
or dword [esp + 0x2c], eax
jmp case.default.0x45149d
mov ecx, dword [esi + 8]
or dword [esp + 0x2c], 0x8000
mov dword [esp + 0x20], ecx
jmp case.default.0x45149d
mov edx, dword [esi + 8]
or dword [esp + 0x2c], 0x4000
mov dword [esp + 0x40], edx
jmp case.default.0x45149d
mov edx, dword [esp + 0x30]
mov cl, byte [edx + ebx]
xor eax, eax
mov esi, ebx
cmp cl, 0x30
jb 0x45156f
cmp cl, 0x39
ja 0x45156f
cmp cl, 0x39
ja 0x451515
cmp eax, 0x19999998
ja 0x451515
movzx ecx, cl
lea eax, [eax + eax*4]
inc esi
lea eax, [ecx + eax*2 - 0x30]
mov cl, byte [edx + esi]
cmp cl, 0x30
jae 0x4514f6
mov cl, byte [edx + esi]
inc esi
cmp cl, 0x29
jne 0x45155f
mov ecx, dword [esp + 0x24]
cmp cx, 4
jne 0x45152e
mov dword [esp + 0x54], eax
jmp 0x45153e
cmp cx, 5
jne 0x45153a
mov dword [esp + 0x4c], eax
jmp 0x45153e
mov dword [esp + 0x3c], eax
mov ebx, esi
cmp dword [esp + 0x10], 0x15
jae 0x45145a
mov edx, dword [esp + 0x18]
sub edx, ebx
cmp edx, 2
jae 0x4513f5
jmp 0x45145a
add edx, esi
mov eax, 0xa0
mov dword [esp + 0x10], edx
jmp 0x451d58
add edx, ebx
mov eax, 0xa0
mov dword [esp + 0x10], edx
jmp 0x451d58
mov edx, dword [ebp + 0xc]
mov eax, ecx
shr eax, 0x13
mov esi, 1
and eax, esi
mov dword [esp + 0x34], eax
je 0x4515b2
test edx, 0x1000
je 0x4515a6
mov eax, 0xae
jmp 0x451d58
test edx, 0x40000000
jne 0x4515b2
mov dword [esp + 0x14], edi
and ecx, 0x20800
cmp ecx, 0x20800
jne 0x4515ca
mov eax, 0xaf
jmp 0x451d58
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x40], edi
jne 0x4515dc
movzx eax, word [ecx + 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4515ec
movzx eax, word [ecx + 0x1e]
mov dword [esp + 0x20], eax
dec eax
mov dword [esp + 0xf0], edi
cmp eax, 5
ja case.default.0x4515fd
jmp dword [eax*4 + 0x451e2c]
mov dword [esp + 0xf4], esi
mov byte [esp + 0x100], 0xd
jmp 0x451662
mov dword [esp + 0xf4], esi
mov byte [esp + 0x100], 0xa
jmp 0x451662
mov dword [esp + 0xf4], esi
mov byte [esp + 0x100], 0
jmp 0x451662
mov dword [esp + 0xf4], 2
mov word [esp + 0x100], 0xa0d
jmp 0x451662
mov dword [esp + 0xf0], esi
jmp 0x451662
mov dword [esp + 0xf0], 2
mov esi, dword [esp + 0x18]
sub esi, ebx
test byte [ecx + 0x24], 0xc
je 0x451671
add esi, 4
test dl, 4
je 0x45167a
lea esi, [esi + esi*4 + 5]
cmp esi, 0x400
jb 0x4516b3
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
push ecx
lea edx, [esi*4 + 4]
push edx
call eax
add esp, 8
test eax, eax
jne 0x4516ac
mov ecx, dword [esp + 0x58]
mov dword [ecx], 0x79
jmp 0x451d79
mov dword [esp + 0xdc], eax
mov edx, dword [esp + 0xdc]
lea eax, [edx + esi*4 + 4]
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x3c]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xd0]
push edx
push eax
push ecx
call fcn.0044ac10
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x451cf3
mov ecx, dword [esp + 0xd4]
cmp ecx, 0x100
jb 0x451749
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 8]
push edx
mov edx, dword [eax]
lea ecx, [ecx*4 + 4]
push ecx
call edx
add esp, 8
mov dword [esp + 0xe4], eax
test eax, eax
jne 0x451740
mov edx, dword [esp + 0x30]
mov eax, 0x79
add edx, edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jmp 0x451d5c
mov ecx, dword [esp + 0xd4]
jmp 0x451750
mov eax, dword [esp + 0xe4]
lea ecx, [ecx*4 + 4]
push ecx
push 0
push eax
call fcn.004611e0
add esp, 0xc
cmp dword [esp + 0x38], edi
je 0x45177e
lea esi, [esp + 0x60]
call fcn.00450dd0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x451cf3
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xb4], edx
mov dword [esp + 0x48], eax
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x64]
push eax
push 0
lea ecx, [esp + 0x165c]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
push ecx
push 0
lea edx, [esp + 0x34]
push edx
mov edx, dword [esp + 0xf0]
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x38]
push ecx
push edx
mov byte [esp + 0x1680], 0x83
call fcn.0044f860
mov eax, dword [esp + 0x44]
add esp, 0x30
test eax, eax
jne 0x451cf3
mov eax, dword [esp + 0x28]
cmp eax, 0x10000
jbe 0x45181c
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0xb4]
mov eax, 0x78
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jmp 0x451d5c
movzx edx, word [esp + 0xba]
movzx ecx, word [esp + 0xb8]
imul ecx, edx
lea esi, [ecx + eax + 0x70]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
push ecx
push esi
call edx
mov edi, eax
add esp, 8
test edi, edi
jne 0x451866
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0xb4]
mov eax, 0x79
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jmp 0x451d5c
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], eax
mov eax, dword [ecx]
mov dword [edi], eax
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
mov eax, dword [ecx + 8]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0xc], eax
xor eax, eax
xor edx, edx
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], eax
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x30], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x34], esi
mov dword [edi + 0x38], 0x50435245
mov eax, dword [esp + 0xcc]
mov dword [edi + 0x40], eax
mov ecx, dword [ecx + 0x24]
mov dword [edi + 0x44], ecx
mov eax, dword [esp + 0xd0]
or eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x54]
mov dword [edi + 0x4c], ecx
mov ecx, dword [esp + 0x3c]
or eax, 1
mov dword [edi + 0x48], eax
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x50], eax
movzx eax, word [esp + 0x40]
mov dword [edi + 0x54], ecx
movzx ecx, word [esp + 0x20]
mov word [edi + 0x60], ax
mov dword [edi + 0x58], edx
mov dword [edi + 0x5c], edx
mov word [edi + 0x62], cx
xor eax, eax
mov dword [edi + 0x64], eax
mov dword [edi + 0x68], eax
movzx eax, word [esp + 0xba]
mov word [edi + 0x6c], ax
movzx esi, word [edi + 0x6c]
movzx ecx, word [esp + 0xb8]
mov word [edi + 0x6e], cx
mov cx, word [esp + 0xb8]
movzx eax, cx
imul esi, eax
lea ebx, [esi + edi + 0x70]
xor esi, esi
mov word [esp + 0xbc], si
mov word [esp + 0xbe], si
lea esi, [edi + 0x70]
mov dword [esp + 0xd8], edx
mov dword [esp + 0x84], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x110], edx
mov dword [esp + 0xc0], edx
cmp cx, dx
jbe 0x4519cc
mov dword [esp + 0x10], edx
test eax, eax
je 0x4519cc
mov esi, dword [esp + 0xc4]
add esi, 8
mov edx, dword [esp + 0x10]
mov eax, dword [esi - 4]
movzx ecx, word [esi]
push edx
mov edx, dword [esi - 8]
push eax
push ecx
push edx
lea eax, [esp + 0x70]
push eax
call fcn.00450220
mov eax, dword [esp + 0x24]
movzx ecx, word [esp + 0xcc]
inc eax
add esp, 0x14
add esi, 0xc
mov dword [esp + 0x10], eax
cmp eax, ecx
jb 0x451996
mov edx, dword [esp + 0xdc]
push 0
lea eax, [esp + 0x64]
push eax
push 0
mov dword [esp + 0x54], edx
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
push ecx
push 0
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x38]
mov byte [ebx], 0x83
mov edx, dword [edi + 0x40]
push ecx
push edx
mov dword [esp + 0x40], ebx
call fcn.0044f860
add esp, 0x30
test eax, eax
jns 0x451a23
or dword [edi + 0x48], 0x2000
mov ax, word [esp + 0xd4]
mov word [edi + 0x68], ax
mov cx, word [esp + 0xe8]
mov word [edi + 0x6a], cx
mov dx, word [esp + 0x104]
mov word [edi + 0x64], dx
cmp dword [esp + 0x10c], 0
je 0x451a61
mov dword [esp + 0x38], 0
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov byte [eax], 0
inc eax
sub eax, ebx
cmp eax, ecx
jbe 0x451a90
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0xb4]
mov eax, 0x7b
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jmp 0x451d5c
sub eax, ecx
add dword [edi + 0x34], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x451cf3
cmp dword [esp + 0x114], eax
je 0x451ba1
mov dword [esp + 0x10], eax
mov eax, ebx
mov dword [esp + 0x20], 8
call fcn.0044ffb0
mov dword [esp + 0x28], eax
test eax, eax
je 0x451ba1
lea ecx, [ecx]
mov eax, dword [esp + 0x28]
movzx esi, byte [eax + 1]
movzx eax, byte [eax + 2]
shl esi, 8
or esi, eax
jne 0x451aea
mov eax, ebx
jmp 0x451b6e
mov ecx, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x3c], ebx
cmp dword [esp + 0x10], eax
jbe 0x451b30
lea ebx, [ebx]
mov edx, dword [esp + ecx*8 + 0x124]
cmp esi, edx
je 0x451b25
jle 0x451b18
mov edx, dword [esp + ecx*8 + 0x120]
mov dword [esp + 0x3c], edx
inc ecx
inc eax
and ecx, 7
cmp eax, dword [esp + 0x10]
jb 0x451b00
jmp 0x451b30
mov eax, dword [esp + ecx*8 + 0x120]
test eax, eax
jne 0x451b6e
mov eax, dword [esp + 0x3c]
call fcn.004541e0
test eax, eax
je 0x451bde
mov ecx, dword [esp + 0x20]
dec ecx
mov dword [esp + 0x20], ecx
jns 0x451b55
mov ecx, 7
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x10], 8
mov dword [esp + ecx*8 + 0x124], esi
mov dword [esp + ecx*8 + 0x120], eax
jae 0x451b6e
inc dword [esp + 0x10]
mov esi, dword [esp + 0x28]
mov ecx, eax
sub al, bl
sub ecx, ebx
sar ecx, 8
mov byte [esi + 2], al
lea eax, [esi + 3]
mov byte [esi + 1], cl
call fcn.0044ffb0
mov dword [esp + 0x28], eax
test eax, eax
jne 0x451ad0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x451cf3
test dword [edi + 0x40], 0x4000
jne 0x451c07
mov edx, dword [esp + 0x34]
push edx
lea edx, [esp + 0x64]
mov ecx, ebx
call fcn.00453ed0
add esp, 4
test eax, eax
je 0x451bfb
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0xb4]
mov eax, 0xb4
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jmp 0x451d5c
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0xb4]
mov eax, 0x99
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jmp 0x451d5c
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x451cf3
mov esi, dword [edi + 0x40]
test esi, esi
js 0x451c2f
push 0
push 0
lea eax, [esp + 0x68]
push eax
push 0
push ebx
call fcn.0044fc30
add esp, 0x14
test eax, eax
je 0x451c2f
or esi, 0x80000000
mov dword [edi + 0x40], esi
mov esi, dword [edi + 0x40]
test esi, 0x10000
jne 0x451d79
mov ecx, dword [esp + 0x18]
test ecx, ecx
jns 0x451d04
push 0
lea ecx, [esp + 0x1c]
push ecx
push ebx
call fcn.00450090
mov ecx, dword [esp + 0x24]
add esp, 0xc
test ecx, ecx
jns 0x451d08
test esi, esi
js 0x451c89
push 0
push 0
lea edx, [esp + 0x68]
push edx
push 0
push ebx
call fcn.0044fde0
add esp, 0x14
test eax, eax
je 0x451c89
or dword [edi + 0x48], 0x200
mov edx, dword [esp + 0x44]
test edx, edx
js 0x451cdb
test esi, esi
jns 0x451c9a
test dl, 2
je 0x451cdb
or dword [edi + 0x48], 0x80
mov ecx, dword [esp + 0x38]
mov eax, dword [edi + 0x48]
mov dword [edi + 0x5c], ecx
test dl, 1
je 0x451cdb
cmp ecx, 0x80
jb 0x451cc7
cmp dword [esp + 0x34], 0
jne 0x451cdb
cmp ecx, 0xff
jae 0x451cdb
mov edx, dword [esp + 0x68]
movzx edx, byte [ecx + edx]
cmp edx, ecx
je 0x451cdb
or eax, 0x100
mov dword [edi + 0x48], eax
mov esi, edi
call fcn.004532e0
test eax, eax
je 0x451d79
mov eax, 0x83
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0xb4]
mov dword [esp + 0x10], edx
jmp 0x451d5c
mov eax, dword [esp + 0x24]
or dword [edi + 0x48], 0x10
mov edx, dword [edi + 0x48]
mov dword [edi + 0x58], eax
test cl, 1
je 0x451c89
cmp eax, 0x80
jb 0x451d38
cmp dword [esp + 0x34], 0
jne 0x451c89
cmp eax, 0xff
jae 0x451c89
mov ecx, dword [esp + 0x68]
movzx ecx, byte [eax + ecx]
cmp ecx, eax
je 0x451c89
or edx, 0x20
mov dword [edi + 0x48], edx
jmp 0x451c89
mov eax, 0x9c
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
sub ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
mov dword [edx], ecx
mov ecx, dword [esp + 0x58]
mov dword [ecx], eax
mov eax, edi
call fcn.00449fd0
xor edi, edi
mov eax, dword [esp + 0xdc]
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x650]
cmp eax, edx
je 0x451d9c
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push eax
call edx
add esp, 8
cmp dword [esp + 0xc8], 0x14
jbe 0x451dba
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esi + 4]
push eax
push ecx
call edx
add esp, 8
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0x250]
cmp eax, ecx
je 0x451dd9
mov edx, dword [esi + 8]
push edx
push eax
mov eax, dword [esi + 4]
call eax
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4528]
xor ecx, esp
call fcn.00455328
mov esp, ebp
pop ebp
ret
mov dword [esi], 0x75
mov ecx, dword [esp + 0x4534]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00455328
mov esp, ebp
pop ebp
ret