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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [0x53a024]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0x64], edx
push esi
push edi
mov edi, dword [ebp + 0xc]
cmp byte [ebx], 4
mov esi, dword [ebx + 8]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], 0
mov eax, dword [esi + 4]
mov dword [ebp - 0x50], eax
je 0x498929
test byte [ebx + 1], 0x20
jne 0x498931
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x440dd2
test edi, edi
jne 0x440b5b
test byte [ebp + 8], 2
jne 0x440b53
movzx ecx, word [edx + 0x18]
test cx, cx
je 0x4989af
mov dword [ebp - 0x18], eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x14], eax
mov word [ebp - 0x10], cx
mov dword [ebp - 0xe], edi
mov byte [ebp - 0xa], 0
cmp dword [ebp + 8], edi
jne 0x4989a5
xor eax, eax
lea ecx, [ebp - 0x4c]
push ecx
push eax
push 0
push 0
lea edx, [ebp - 0x18]
mov ecx, ebx
call fcn.0043f5d0
add esp, 0x10
test eax, eax
jne 0x440d06
mov edi, dword [ebp - 0x4c]
test edi, edi
je 0x4989d0
mov esi, dword [ebx + 0x74]
cmp dword [esi + 0x14], 0
jl 0x441029
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x48]
push ecx
push dword [ebp - 0x64]
mov ecx, esi
mov eax, dword [eax + 0x50]
mov edx, eax
mov dword [ebp - 0x6c], eax
call fcn.004407e0
add esp, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x68], eax
test eax, eax
jne 0x440d03
movzx eax, word [ebx + 0x46]
mov edx, eax
mov dword [ebp - 0x4c], edx
test edi, edi
je 0x441318
jns 0x440dca
cmp word [esi + 0x18], 0
jbe 0x440dca
inc eax
and byte [ebx + 1], 0xfd
movzx edi, ax
mov word [ebx + 0x46], ax
mov dword [ebp - 0x4c], edi
mov cl, byte [esi + 0xc]
test cl, cl
jne 0x440fa6
mov eax, dword [ebp - 0x48]
add eax, 2
cmp eax, dword [esi + 0x14]
jg 0x440fa6
mov edi, dword [esi + 0x48]
test byte [edi + 0x1c], 4
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x40], ecx
je 0x441040
mov eax, dword [ecx + 0x18]
cmp eax, dword [edi + 0x18]
jb 0x441040
cmp dword [ecx + 0x60], 0
jne 0x441215
movzx eax, byte [esi + 9]
movzx ecx, word [esi + 0x12]
mov edi, dword [esi + 0x38]
mov dword [ebp - 0x5c], eax
movzx eax, word [esi + 0x18]
mov dword [ebp - 0x44], edi
lea eax, [ecx + eax*2]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x5c]
movzx ecx, byte [edi + eax + 5]
movzx eax, byte [edi + eax + 6]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x40]
cmp eax, ecx
ja 0x498ae4
mov edx, dword [ebp - 0x5c]
cmp byte [edi + edx + 2], 0
mov edx, dword [ebp - 0x48]
jne 0x440d17
mov edx, dword [ebp - 0x5c]
cmp byte [edi + edx + 1], 0
mov edx, dword [ebp - 0x48]
jne 0x440d17
add eax, 2
add eax, edx
cmp eax, ecx
jg 0x4410f4
sub ecx, edx
mov edx, dword [ebp - 0x5c]
mov eax, ecx
sar eax, 8
mov byte [edi + edx + 5], al
mov eax, edx
mov edx, dword [ebp - 0x48]
mov byte [edi + eax + 6], cl
mov edi, ecx
mov dword [ebp - 0x3c], edi
mov ecx, dword [ebp - 0x6c]
lea eax, [edx + 2]
movzx eax, ax
sub dword [esi + 0x14], eax
mov eax, dword [ebp - 0x44]
push edx
push ecx
add eax, edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 0x40]
add esp, 0xc
mov ecx, dword [ebp - 0x4c]
lea edi, [eax + ecx*2]
movzx eax, word [esi + 0x18]
sub eax, ecx
add eax, eax
push eax
lea eax, [edi + 2]
push edi
push eax
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [ebp - 0x3c]
add esp, 0xc
mov eax, ecx
mov byte [edi + 1], cl
mov ecx, dword [ebp - 0x44]
sar eax, 8
mov byte [edi], al
movzx eax, byte [esi + 9]
inc word [esi + 0x18]
add byte [eax + ecx + 4], 1
je 0x44116b
mov eax, dword [esi + 0x34]
cmp byte [eax + 0x11], 0
jne 0x498b76
xor eax, eax
mov word [ebx + 0x32], ax
cmp byte [esi + 0xc], al
jne 0x440e97
mov eax, dword [ebp - 0x34]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00481a32
mov esp, ebp
pop ebp
ret
add eax, 2
cmp eax, ecx
ja 0x4410ec
mov edx, dword [ebp - 0x5c]
inc edx
mov dword [ebp - 0x54], edx
movzx eax, byte [edx + edi + 1]
mov dword [ebp - 0x38], eax
movzx eax, byte [edx + edi]
mov edx, dword [ebp - 0x48]
shl eax, 8
or dword [ebp - 0x38], eax
mov eax, dword [esi + 0x34]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x70], eax
sub eax, edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x50]
jg 0x440e83
jmp 0x440d60
add eax, edi
mov dword [ebp - 0x60], eax
movzx eax, byte [eax + 2]
shl eax, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x60]
movzx eax, byte [eax + 3]
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x58], eax
js 0x440e45
cmp eax, 4
jl 0x440fbf
mov edi, dword [ebp - 0x38]
add edi, eax
mov dword [ebp - 0x3c], edi
cmp edi, dword [ebp - 0x50]
jg 0x498b33
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x38]
sar eax, 8
mov byte [edi + edx + 2], al
mov eax, edx
mov edx, dword [ebp - 0x58]
mov byte [edi + eax + 3], dl
mov edi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x48]
add eax, edi
jne 0x440c89
jmp 0x498b66
mov edi, dword [ebp - 0x4c]
jmp 0x440bc3
cmp byte [esi + 0xb], 0
mov eax, dword [edx + 8]
mov ecx, dword [ebx + 0x40]
mov dword [ebp - 0x58], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x60], eax
jne 0x498952
test byte [ebx + 1], 2
je 0x440e05
mov eax, dword [edx + 8]
cmp eax, dword [ebx + 0x20]
jne 0x440e05
mov eax, dword [edx + 0xc]
cmp eax, dword [ebx + 0x24]
je 0x441223
test edi, edi
jne 0x440b5b
cmp dword [ebp + 8], edi
je 0x49899e
mov eax, 1
lea ecx, [ebp - 0x4c]
push ecx
push eax
push dword [edx + 0xc]
mov ecx, ebx
push dword [edx + 8]
xor edx, edx
call fcn.0043f5d0
add esp, 0x10
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x440d03
mov edi, dword [ebp - 0x4c]
jmp 0x440b5b
mov edi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x54], eax
movzx eax, byte [edi + 1]
mov dword [ebp - 0x38], eax
movzx eax, byte [edi]
mov edi, dword [ebp - 0x38]
shl eax, 8
or edi, eax
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x38], edi
cmp edi, eax
mov edi, dword [ebp - 0x44]
jbe 0x4410e2
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x50]
jle 0x440d60
mov eax, dword [ebp - 0x70]
add eax, 0xfffffffc
cmp dword [ebp - 0x38], eax
jg 0x498b3a
jmp 0x4410ec
and byte [ebx + 1], 0xfd
mov esi, dword [ebx + 0x74]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x54], 0
mov ecx, dword [eax + 0x24]
mov eax, 0xaaaaaaab
add ecx, ecx
mul ecx
mov cl, byte [ebx + 0x44]
shr edx, 1
mov dword [ebp - 0x50], edx
nop
cmp dword [esi + 0x14], 0
movsx edi, cl
jl 0x498b94
mov al, byte [esi + 0xc]
test edi, edi
je 0x441134
test al, al
je 0x440ff9
mov edx, dword [ebx + edi*4 + 0x74]
movzx eax, word [ebx + edi*2 + 0x46]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x3c], edx
mov ecx, dword [edx + 0x48]
test byte [ecx + 0x1c], 4
mov eax, dword [ecx + 0x14]
je 0x4411c0
mov eax, dword [eax + 0x18]
cmp eax, dword [ecx + 0x18]
mov eax, dword [ecx + 0x14]
jb 0x4411c0
cmp dword [eax + 0x60], 0
jne 0x44130e
cmp dword [edx + 0x14], 0
jl 0x4411fb
cmp byte [esi + 3], 0
jne 0x441178
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax + 0x20]
call fcn.004598a8
movzx ecx, byte [ebx + 3]
mov edx, dword [ebp - 0x58]
and ecx, 1
push ecx
xor ecx, ecx
mov dword [ebp - 0x60], eax
cmp edi, 1
sete cl
push ecx
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.00459e80
mov edi, dword [ebp - 0x54]
add esp, 0xc
mov dword [ebp - 0x34], eax
test edi, edi
jne 0x4412a8
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x54], eax
mov ecx, dword [esi + 0x48]
mov byte [esi + 0xc], 0
test byte [ecx + 0x1c], 0x20
jne 0x498c69
call fcn.0043f400
cmp dword [ebp - 0x34], 0
mov al, byte [ebx + 0x44]
mov edx, dword [ebp - 0x50]
lea ecx, [eax - 1]
movsx eax, al
mov byte [ebx + 0x44], cl
mov esi, dword [ebx + eax*4 + 0x74]
mov dword [ebx + 0x74], esi
je 0x440ec0
jmp 0x441002
movzx eax, cl
inc cl
mov byte [esi + 0xc], cl
mov ecx, dword [ebp - 0x6c]
mov dword [esi + eax*4 + 0x24], ecx
mov word [esi + eax*2 + 0x1c], di
jmp 0x440cf4
mov eax, dword [ebp - 0x5c]
add eax, 7
add eax, edi
mov dword [ebp - 0x60], eax
cmp byte [eax], 0x39
ja 0x4410ec
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x54]
mov ax, word [eax + edi]
mov word [edx + edi], ax
mov edi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x58]
add byte [edi], al
mov edi, dword [ebp - 0x38]
add edi, eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x3c], edi
jmp 0x440dba
cmp dword [esi + 0x14], edx
jg 0x440ee0
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x441010
mov ecx, eax
call fcn.0045994c
test byte [ebp + 8], 2
mov eax, dword [ebx + 0x74]
mov byte [eax + 0xc], 0
mov byte [ebx], 1
je 0x440d03
jmp 0x498c73
mov ecx, esi
call fcn.004596cb
mov dword [ebp - 0x34], eax
test eax, eax
je 0x440b68
jmp 0x440d03
mov edx, dword [ecx + 0x28]
test edx, edx
jne 0x498ada
mov eax, dword [ecx + 0x94]
cmp eax, dword [ecx + 0x98]
ja 0x498a77
cmp byte [ecx + 0x10], 2
mov dword [ebp - 0x44], edx
je 0x441255
movzx eax, word [edi + 0x1c]
test al, 0x11
je 0x4410ac
and eax, 0xffef
mov word [edi + 0x1c], ax
test al, 1
je 0x4410ac
xor eax, 3
mov dword [edi + 0x24], 0
mov word [edi + 0x1c], ax
mov eax, dword [edi + 0xc]
mov edx, dword [eax]
mov dword [edi + 0x20], edx
test edx, edx
je 0x44126f
mov dword [edx + 0x24], edi
cmp dword [eax + 8], 0
mov dword [eax], edi
je 0x441285
mov eax, dword [ecx + 0x38]
test eax, eax
jne 0x498a85
mov edx, dword [ebp - 0x44]
or word [edi + 0x1c], 4
cmp dword [ecx + 0x60], 0
jg 0x441297
mov eax, dword [edi + 0x18]
cmp dword [ecx + 0x18], eax
jb 0x498ad2
test edx, edx
je 0x440c06
jmp 0x498ada
cmp dword [ebp - 0x38], 0
jne 0x498b2c
mov eax, dword [ebp - 0x40]
jmp 0x440c60
mov eax, dword [esi + 0x14]
sub eax, edx
lea edx, [eax - 2]
cmp edx, 4
jle 0x441106
mov edx, 4
mov ecx, esi
call fcn.004634f0
test eax, eax
jne 0x498b6e
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x48]
movzx ecx, byte [edi + eax + 5]
movzx eax, byte [edi + eax + 6]
shl ecx, 8
or ecx, eax
dec ecx
movzx ecx, cx
inc ecx
jmp 0x440c6d
test al, al
je 0x441002
lea edx, [ebx + 0x7c]
mov ecx, esi
call fcn.00479042
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x441002
mov edx, dword [ebp - 0x50]
mov cl, 1
mov byte [ebx + 0x44], 1
mov dword [ebx + 0x78], esi
mov esi, dword [ebx + 0x7c]
mov dword [ebx + 0x46], eax
mov dword [ebx + 0x74], esi
jmp 0x440ec0
movzx eax, byte [esi + 9]
inc byte [eax + ecx + 3]
jmp 0x440ce7
cmp byte [esi + 0xc], 1
jne 0x440f2c
mov ax, word [esi + 0x1c]
cmp ax, word [esi + 0x18]
jne 0x440f2c
cmp dword [edx + 4], 1
je 0x440f2c
movzx eax, word [edx + 0x18]
cmp eax, dword [ebp - 0x58]
jne 0x440f2c
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x18]
push eax
mov edx, esi
call fcn.00458bcd
add esp, 4
mov dword [ebp - 0x34], eax
jmp 0x440f6e
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x440f6e
mov edx, dword [ecx + 0x14]
mov eax, dword [edx + 0x94]
cmp eax, dword [edx + 0x98]
ja 0x498bab
call fcn.004597a9
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x440f6e
mov edx, dword [ebp - 0x3c]
jmp 0x440f18
mov ecx, edx
call fcn.004596cb
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x440f6e
mov edx, dword [ebp - 0x3c]
jmp 0x440f22
mov ecx, edi
call fcn.00458670
mov edx, eax
jmp 0x4410d5
cmp word [ebx + 0x32], 0
je 0x440b5b
mov eax, dword [edx + 0x20]
add eax, dword [edx + 0x1c]
cmp dword [ebx + 0x2c], eax
jne 0x440b5b
mov ecx, ebx
call fcn.00474490
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00481a32
mov esp, ebp
pop ebp
ret
call fcn.004775d0
mov edx, eax
mov dword [ebp - 0x44], edx
test edx, edx
jne 0x498ada
mov ecx, dword [ebp - 0x40]
jmp 0x44106a
cmp byte [eax + 0x20], 0
mov dword [eax + 4], edi
je 0x4410a0
mov byte [eax + 0x21], 1
jmp 0x4410a0
test byte [edi + 0x1c], 8
jne 0x4410ac
mov dword [eax + 8], edi
jmp 0x4410ac
mov ecx, edi
call fcn.00458670
mov ecx, dword [ebp - 0x40]
mov edx, eax
jmp 0x4410c9
cmp edi, dword [0x545580]
jb 0x498bb5
push edi
call dword [0x53a078]
mov ecx, dword [0x545584]
add esp, 4
mov dword [ebp - 0x70], eax
test ecx, ecx
je 0x4412de
push ecx
call dword [0x53a09c]
mov ecx, dword [0x545584]
add esp, 4
mov eax, dword [ebp - 0x70]
sub dword [0x5455a0], eax
test ecx, ecx
je 0x4412f2
push ecx
call dword [0x53a0a4]
add esp, 4
cmp dword [0x53a040], 0
jne 0x498c1d
push edi
call dword [0x53a070]
add esp, 4
jmp 0x440f68
call fcn.00458670
jmp 0x4411e8
mov ecx, dword [esi + 0x48]
call fcn.00459552
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x440d03
mov ecx, dword [ebp - 0x4c]
mov eax, dword [esi + 0x40]
mov edi, dword [ebp - 0x6c]
mov ax, word [eax + ecx*2]
mov ch, al
mov cl, ah
movzx eax, word [esi + 0x1a]
movzx ecx, cx
and ecx, eax
add ecx, dword [esi + 0x38]
cmp byte [esi + 8], 0
mov dword [ebp - 0x58], ecx
je 0x4413a6
lea eax, [ebp - 0x20]
mov edx, ecx
push eax
mov ecx, esi
call fcn.0045c741
movzx edx, word [ebp - 0xe]
add esp, 4
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x68], eax
cmp edx, ecx
je 0x498a10
mov edi, dword [ebp - 0x4c]
lea eax, [ebp - 0x68]
push eax
push edx
mov edx, edi
mov ecx, esi
call fcn.0045c282
mov eax, dword [ebp - 0x68]
add esp, 8
mov dword [ebp - 0x34], eax
test eax, eax
je 0x440bc3
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00481a32
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx]
mov dword [edi], eax
jmp 0x441351
mov eax, dword [ebx + 4]
jmp 0x440d06
mov edx, dword [ebx + 0x40]
mov ecx, eax
push ebx
call fcn.0045cad4
add esp, 4
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x440d03
mov edx, dword [ebp - 0x64]
jmp 0x440af1
mov eax, dword [esi + 4]
mov byte [esi + 0xb], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0x54], eax
test eax, eax
je 0x440deb
mov eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x54]
test byte [edx + 1], 0x10
je 0x49898c
mov byte [esi + 0xb], 1
cmp dword [edx + 0x40], ecx
jne 0x49898c
cmp dword [edx + 0x20], eax
jne 0x49898c
cmp dword [edx + 0x24], edi
jne 0x49898c
mov byte [edx], 1
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x498970
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp - 0x64]
jmp 0x440deb
xor eax, eax
jmp 0x440e1b
mov eax, 1
jmp 0x440b32
lea eax, [ebp - 0x4c]
mov ecx, ebx
push eax
xor eax, eax
cmp dword [ebp + 8], eax
setne al
push eax
push dword [edx + 0xc]
push dword [edx + 8]
mov edx, dword [edx]
call fcn.004f9074
jmp 0x440b45
mov ecx, ebx
call fcn.0045c934
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
cmp dword [ebx + 0x20], ecx
jne 0x440b5b
cmp dword [ebx + 0x24], edx
jne 0x440b5b
mov eax, dword [eax]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x14], ecx
mov ecx, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0
call fcn.00474490
jmp 0x440d06
movzx eax, word [ebp - 0x10]
cmp eax, dword [ebp - 0x14]
jne 0x441373
mov eax, dword [ebp - 0x50]
cmp byte [eax + 0x11], 0
je 0x498a32
movzx eax, word [esi + 0x10]
cmp ecx, eax
jge 0x441373
mov edx, dword [ebp - 0x58]
lea eax, [edx + ecx]
cmp eax, dword [esi + 0x3c]
jbe 0x498a65
push 0x40ee44
push 0x118df
push 0x40ede8
push 0x40edcc
push 0xb
call fcn.00512fdf
add esp, 0x14
mov eax, 0xb
jmp 0x440d06
push ecx
push edi
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor eax, eax
jmp 0x440d06
mov ecx, edi
call fcn.0050106e
mov edx, eax
jmp 0x4410d5
mov edx, dword [edi + 0x18]
mov ecx, eax
call fcn.004586ce
mov ecx, dword [ebp - 0x40]
test eax, eax
jne 0x4410b7
mov eax, dword [edi + 0x18]
cmp eax, dword [ecx + 0x1c]
ja 0x498abb
mov ecx, edi
call fcn.00500b18
mov edx, eax
test edx, edx
jne 0x4410d5
mov ecx, dword [ebp - 0x40]
jmp 0x4410ba
cmp byte [ecx + 0x10], 4
mov edx, dword [ebp - 0x44]
je 0x4410ba
or word [edi + 0x1c], 8
jmp 0x4410ba
mov dword [ecx + 0x18], eax
jmp 0x4410d5
mov eax, edx
mov dword [ebp - 0x34], eax
jmp 0x440cf4
test ecx, ecx
jne 0x498b01
mov eax, dword [esi + 0x34]
cmp dword [eax + 0x24], 0x10000
jne 0x498b01
mov eax, dword [ebp - 0x40]
mov ecx, 0x10000
jmp 0x440c3e
push 0x40ee44
push 0xfd38
push 0x40ede8
push 0x40edcc
push 0xb
call fcn.00512fdf
mov eax, 0xb
add esp, 0x14
mov dword [ebp - 0x34], eax
jmp 0x440cf4
mov eax, 0xfd02
jmp 0x498b3f
mov eax, 0xfcf4
jmp 0x498b3f
mov eax, 0xfd09
push 0x40ee44
push eax
push 0x40ede8
push 0x40edcc
push 0xb
call fcn.00512fdf
mov eax, 0xb
add esp, 0x14
mov dword [ebp - 0x34], eax
jmp 0x440cf4
mov edi, dword [ebp - 0x44]
jmp 0x4410ec
mov dword [ebp - 0x34], eax
jmp 0x440cf4
lea eax, [ebp - 0x68]
mov edx, esi
push eax
push dword [ebp - 0x6c]
mov ecx, esi
call fcn.00503031
mov eax, dword [ebp - 0x68]
add esp, 8
mov dword [ebp - 0x34], eax
jmp 0x440cf4
mov ecx, esi
call fcn.004596cb
test eax, eax
jne 0x441002
mov edx, dword [ebp - 0x50]
jmp 0x440ecd
call fcn.0050106e
jmp 0x4411e8
cmp edi, dword [0x54557c]
jb 0x4412b4
mov eax, dword [0x545584]
test eax, eax
je 0x498bd4
push eax
call dword [0x53a09c]
add esp, 4
mov eax, dword [0x545588]
dec dword [0x54559c]
mov dword [edi], eax
xor eax, eax
mov ecx, dword [0x54558c]
inc ecx
mov dword [0x545588], edi
cmp ecx, dword [0x545578]
mov dword [0x54558c], ecx
setl al
mov dword [0x545590], eax
mov eax, dword [0x545584]
test eax, eax
je 0x440f68
push eax
call dword [0x53a0a4]
jmp 0x441306
mov eax, dword [0x545768]
test eax, eax
je 0x498c30
push eax
call dword [0x53a09c]
add esp, 4
push edi
call dword [0x53a078]
sub dword [0x545598], eax
add esp, 4
dec dword [0x5455bc]
push edi
call dword [0x53a070]
mov eax, dword [0x545768]
add esp, 4
test eax, eax
je 0x440f68
push eax
call dword [0x53a0a4]
jmp 0x441306
call fcn.00500eb3
jmp 0x440f84
cmp dword [ebp - 0x34], 0
jne 0x440d03
mov ecx, ebx
call fcn.0045cb52
cmp dword [ebx + 0x70], 0
mov esi, dword [ebp - 0x64]
je 0x498cb9
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.00459870
add esp, 8
mov dword [ebx + 0x10], eax
test eax, eax
jne 0x498cab
mov dword [ebp - 0x34], 7
jmp 0x498cb9
push dword [esi + 8]
push dword [esi]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebx], 3
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], ecx
jmp 0x440d03