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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb38
mov esi, esp
mov dword [esi + 0x1c], ebp
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x124], eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esi + 0x120], eax
mov eax, esp
mov dword [esi + 0xb24], eax
mov dword [esi + 0xb30], 0xffffffff
lea ebx, [esi + 0xb28]
mov dword [esi + 0xb2c], 0x43dde0
mov eax, dword fs:[0]
mov dword [esi + 0xb28], eax
mov eax, dword [esi + 0x124]
mov dword fs:[0], ebx
mov dword [esi + 0x128], edi
mov dword [esi + 0x12c], edx
mov dword [esi + 0x884], ecx
mov dword [esi + 0x888], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00504570
mov dword [esi + 0x130], eax
mov dword [esi + 0x134], edx
mov dword [esi + 0xb30], 0
mov eax, esp
lea ecx, [esi + 0x130]
mov dword [eax], ecx
call fcn.004fd8e0
mov dword [esi + 0x118], edx
mov dword [esi + 0x11c], eax
jmp 0x4314a1
mov eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x11c]
mov dword [esi + 0x138], ecx
mov dword [esi + 0x13c], eax
mov eax, dword [esi + 0x138]
cmp eax, 0
sete al
test al, 1
jne 0x4314cb
jmp 0x4314df
mov eax, dword [esi + 0xb28]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esi + 0x138]
mov eax, dword [esi + 0x13c]
mov dword [esi + 0x140], ecx
mov dword [esi + 0x144], eax
mov ecx, dword [esi + 0x140]
mov edx, dword [esi + 0x144]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.004806c0
mov dword [esi + 0x110], edx
mov dword [esi + 0x114], eax
jmp 0x43151d
mov eax, dword [esi + 0x110]
mov ecx, dword [esi + 0x114]
mov dword [esi + 0x148], ecx
mov dword [esi + 0x14c], eax
mov edx, dword [esi + 0x148]
mov eax, 1
xor ecx, ecx
cmp edx, 0
cmove eax, ecx
cmp eax, 1
jne 0x431582
mov ecx, dword [esi + 0x120]
mov edx, dword [esi + 0x148]
mov eax, dword [esi + 0x14c]
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], eax
add ecx, 0x118
mov eax, esp
mov dword [eax], ecx
call fcn.004bf6e0
mov byte [esi + 0x10f], al
jmp 0x43159f
mov ecx, dword [esi + 0x120]
add ecx, 0x70
mov eax, esp
mov dword [eax], ecx
call fcn.004173a0
mov dword [esi + 0x108], eax
jmp 0x4320f3
mov al, byte [esi + 0x10f]
test al, 1
jne 0x4315c2
jmp 0x4315ab
mov ecx, dword [esi + 0x120]
mov eax, esp
mov dword [eax], ecx
call fcn.00469420
mov dword [esi + 0x104], eax
jmp 0x4315df
mov ecx, dword [esi + 0x120]
add ecx, 0x68
mov eax, esp
mov dword [eax], ecx
call fcn.004174a0
mov dword [esi + 0x100], eax
jmp 0x431a83
mov eax, dword [esi + 0x104]
mov dword [esi + 0x158], eax
mov eax, 1
xor ecx, ecx
cmp dword [esi + 0x158], 0x110000
cmove eax, ecx
cmp eax, 1
jne 0x431636
mov edi, dword [esi + 0x158]
mov dword [esi + 0x88c], edi
mov ecx, dword [esi + 0x150]
mov edx, dword [esi + 0x154]
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x184]
mov dword [eax], ecx
call fcn.005400b0
jmp 0x43165c
mov ecx, dword [esi + 0x120]
add ecx, 0x118
mov eax, esp
mov dword [eax], ecx
call fcn.004c1630
mov dword [esi + 0xf8], edx
mov dword [esi + 0xfc], eax
jmp 0x4318ce
mov eax, esp
lea ecx, [esi + 0x184]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x15c]
mov dword [eax], ecx
call fcn.005413a0
jmp 0x431676
lea ecx, [esi + 0x1ac]
lea eax, [esi + 0x15c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x28
call sub.VCRUNTIME140.dll_memcpy
mov eax, esp
lea ecx, [esi + 0x1ac]
mov dword [eax], ecx
call fcn.00541a50
mov dword [esi + 0xf0], edx
mov dword [esi + 0xf4], eax
jmp 0x4316b3
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov dword [esi + 0x1d4], ecx
mov dword [esi + 0x1d8], eax
mov eax, dword [esi + 0x1d4]
cmp eax, 0
sete al
test al, 1
jne 0x4315c2
mov ecx, dword [esi + 0x120]
mov edx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
mov dword [esi + 0x1dc], edx
mov dword [esi + 0x1e0], eax
add ecx, 0x118
mov eax, esp
mov dword [eax], ecx
call fcn.004c1630
mov dword [esi + 0xe8], edx
mov dword [esi + 0xec], eax
jmp 0x43171a
mov ecx, dword [esi + 0xec]
mov edx, dword [esi + 0xe8]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.00414e40
mov dword [esi + 0xe0], edx
mov dword [esi + 0xe4], eax
jmp 0x431740
mov eax, dword [esi + 0x120]
mov ecx, dword [esi + 0xe0]
mov edx, dword [esi + 0xe4]
mov dword [esi + 0x1e4], edx
mov dword [esi + 0x1e8], ecx
mov edx, dword [esi + 0x1dc]
mov ecx, dword [esi + 0x1e0]
mov dword [esi + 0x1ec], edx
mov dword [esi + 0x1f0], ecx
mov dword [esi + 0x1f4], eax
mov eax, esp
lea ecx, [esi + 0x1ec]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x1e4]
mov dword [eax], ecx
call fcn.004ce0f0
mov byte [esi + 0xdf], al
jmp 0x43179c
mov al, byte [esi + 0xdf]
test al, 1
jne 0x431696
jmp 0x4317ac
mov eax, dword [esi + 0x120]
add eax, 0x48
mov dword [esi + 0xaac], eax
mov dword [esi + 0xab0], 0x52a150
mov dword [esi + 0xab4], eax
mov dword [esi + 0xaa4], eax
mov dword [esi + 0xaa8], 0x52a150
movsd xmm0, qword [esi + 0xaa4]
movsd qword [esi + 0x228], xmm0
lea eax, [esi + 0x128]
mov dword [esi + 0xa98], eax
mov dword [esi + 0xa9c], 0x52a150
mov dword [esi + 0xaa0], eax
mov dword [esi + 0xa90], eax
mov dword [esi + 0xa94], 0x52a150
movsd xmm0, qword [esi + 0xa90]
movsd qword [esi + 0x230], xmm0
lea eax, [esi + 0x1dc]
mov dword [esi + 0xa84], eax
mov dword [esi + 0xa88], 0x52a150
mov dword [esi + 0xa8c], eax
mov dword [esi + 0xa7c], eax
mov dword [esi + 0xa80], 0x52a150
movsd xmm0, qword [esi + 0xa7c]
movsd qword [esi + 0x238], xmm0
movsd xmm0, qword [esi + 0x228]
movsd qword [esi + 0x210], xmm0
movsd xmm0, qword [esi + 0x230]
movsd qword [esi + 0x218], xmm0
movsd xmm0, qword [esi + 0x238]
movsd qword [esi + 0x220], xmm0
mov eax, esp
lea ecx, [esi + 0x210]
mov dword [eax + 8], ecx
lea ecx, [esi + 0x1f8]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc2e4
call fcn.0043ea60
jmp 0x4318b4
mov eax, esp
lea ecx, [esi + 0x1f8]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc304
call fcn.005f6ab0
jmp 0x4318cc
ud2
mov ecx, dword [esi + 0xfc]
mov edx, dword [esi + 0xf8]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.00414e40
mov dword [esi + 0xd4], edx
mov dword [esi + 0xd8], eax
jmp 0x4318f4
mov eax, dword [esi + 0x120]
mov ecx, dword [esi + 0xd4]
mov edx, dword [esi + 0xd8]
mov dword [esi + 0x244], edx
mov dword [esi + 0x248], ecx
mov edx, dword [esi + 0x150]
mov ecx, dword [esi + 0x154]
mov dword [esi + 0x24c], edx
mov dword [esi + 0x250], ecx
mov dword [esi + 0x254], eax
mov eax, esp
lea ecx, [esi + 0x24c]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x244]
mov dword [eax], ecx
call fcn.004cd100
mov byte [esi + 0xd3], al
jmp 0x431950
mov al, byte [esi + 0xd3]
test al, 1
jne 0x4315c2
jmp 0x431960
mov eax, dword [esi + 0x120]
add eax, 0x48
mov dword [esi + 0xa70], eax
mov dword [esi + 0xa74], 0x52a150
mov dword [esi + 0xa78], eax
mov dword [esi + 0xa68], eax
mov dword [esi + 0xa6c], 0x52a150
movsd xmm0, qword [esi + 0xa68]
movsd qword [esi + 0x288], xmm0
lea eax, [esi + 0x128]
mov dword [esi + 0xa5c], eax
mov dword [esi + 0xa60], 0x52a150
mov dword [esi + 0xa64], eax
mov dword [esi + 0xa54], eax
mov dword [esi + 0xa58], 0x52a150
movsd xmm0, qword [esi + 0xa54]
movsd qword [esi + 0x290], xmm0
lea eax, [esi + 0x150]
mov dword [esi + 0xa48], eax
mov dword [esi + 0xa4c], 0x52a150
mov dword [esi + 0xa50], eax
mov dword [esi + 0xa40], eax
mov dword [esi + 0xa44], 0x52a150
movsd xmm0, qword [esi + 0xa40]
movsd qword [esi + 0x298], xmm0
movsd xmm0, qword [esi + 0x288]
movsd qword [esi + 0x270], xmm0
movsd xmm0, qword [esi + 0x290]
movsd qword [esi + 0x278], xmm0
movsd xmm0, qword [esi + 0x298]
movsd qword [esi + 0x280], xmm0
mov eax, esp
lea ecx, [esi + 0x270]
mov dword [eax + 8], ecx
lea ecx, [esi + 0x258]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc2e4
call fcn.0043ea60
jmp 0x431a68
mov eax, esp
lea ecx, [esi + 0x258]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc314
call fcn.005f6ab0
jmp 0x4318cc
mov eax, dword [esi + 0x100]
mov dword [esi + 0x2a4], eax
mov edx, dword [esi + 0x2a4]
mov eax, 1
xor ecx, ecx
cmp edx, 0
cmove eax, ecx
cmp eax, 1
jne 0x431582
mov ecx, dword [esi + 0x2a4]
mov dword [esi + 0x890], ecx
mov eax, esp
mov dword [eax], ecx
call fcn.004a8e20
mov dword [esi + 0xc8], edx
mov dword [esi + 0xcc], eax
jmp 0x431ace
mov ecx, dword [esi + 0xcc]
mov edx, dword [esi + 0xc8]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x2b4]
mov dword [eax], ecx
call fcn.004f1700
jmp 0x431af1
cmp dword [esi + 0x2b4], 0
je 0x431b4f
mov eax, dword [esi + 0x2c0]
mov dword [esi + 0xb20], eax
movsd xmm0, qword [esi + 0x2b8]
movsd qword [esi + 0xb18], xmm0
mov dword [esi + 0xb30], 1
mov eax, esp
lea ecx, [esi + 0xb18]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0x5fc324
mov dword [eax + 0xc], 0x5fa3f0
mov dword [eax + 4], 0x2b
mov dword [eax], 0x5fa3b4
call fcn.005f6d50
jmp 0x431b4d
ud2
mov ecx, dword [esi + 0x120]
mov eax, dword [esi + 0x2c0]
mov dword [esi + 0x2b0], eax
movsd xmm0, qword [esi + 0x2b8]
movsd qword [esi + 0x2a8], xmm0
mov dword [esi + 0xb30], 0xe
mov eax, esp
mov dword [eax], ecx
call fcn.00469420
mov dword [esi + 0xc4], eax
jmp 0x431b8c
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x2c4], eax
mov eax, 1
xor ecx, ecx
cmp dword [esi + 0x2c4], 0x110000
cmove eax, ecx
cmp eax, 1
jne 0x431be3
mov edi, dword [esi + 0x2c4]
mov dword [esi + 0x894], edi
mov ecx, dword [esi + 0x150]
mov edx, dword [esi + 0x154]
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x2f0]
mov dword [eax], ecx
call fcn.005400b0
jmp 0x431c03
mov eax, esp
lea ecx, [esi + 0x2a8]
mov dword [eax], ecx
call fcn.004f97f0
mov dword [esi + 0xbc], edx
mov dword [esi + 0xc0], eax
jmp 0x431ee5
mov eax, esp
lea ecx, [esi + 0x2f0]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x2c8]
mov dword [eax], ecx
call fcn.005413a0
jmp 0x431c1d
lea ecx, [esi + 0x318]
lea eax, [esi + 0x2c8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x28
call sub.VCRUNTIME140.dll_memcpy
mov eax, esp
lea ecx, [esi + 0x318]
mov dword [eax], ecx
call fcn.00541a50
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb8], eax
jmp 0x431c5a
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xb8]
mov dword [esi + 0x340], ecx
mov dword [esi + 0x344], eax
mov eax, dword [esi + 0x340]
cmp eax, 0
sete al
test al, 1
jne 0x431c84
jmp 0x431ca2
mov dword [esi + 0xb30], 0
mov eax, esp
lea ecx, [esi + 0x2a8]
mov dword [eax], ecx
call fcn.004105a0
jmp 0x431582
mov ecx, dword [esi + 0x340]
mov eax, dword [esi + 0x344]
mov dword [esi + 0x348], ecx
mov dword [esi + 0x34c], eax
mov eax, esp
lea ecx, [esi + 0x2a8]
mov dword [eax], ecx
call fcn.004f97f0
mov dword [esi + 0xac], edx
mov dword [esi + 0xb0], eax
jmp 0x431cd7
mov edx, dword [esi + 0xb0]
mov eax, dword [esi + 0xac]
mov edi, dword [esi + 0x348]
mov ebx, dword [esi + 0x34c]
mov eax, dword [eax + 0x10]
mov ecx, esp
mov dword [ecx + 8], ebx
mov dword [ecx + 4], edi
mov dword [ecx], edx
call eax
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa8], eax
jmp 0x431d0c
mov eax, dword [esi + 0xa4]
mov ecx, dword [esi + 0xa8]
mov dword [esi + 0x350], ecx
mov dword [esi + 0x354], eax
mov edx, dword [esi + 0x350]
mov eax, 1
xor ecx, ecx
cmp edx, 0
cmove eax, ecx
cmp eax, 1
jne 0x431eb6
mov eax, dword [esi + 0x120]
mov edx, dword [esi + 0x350]
mov ecx, dword [esi + 0x354]
mov dword [esi + 0x358], edx
mov dword [esi + 0x35c], ecx
add eax, 0x48
mov dword [esi + 0xa34], eax
mov dword [esi + 0xa38], 0x52a150
mov dword [esi + 0xa3c], eax
mov dword [esi + 0xa2c], eax
mov dword [esi + 0xa30], 0x52a150
movsd xmm0, qword [esi + 0xa2c]
movsd qword [esi + 0x398], xmm0
lea eax, [esi + 0x128]
mov dword [esi + 0xa20], eax
mov dword [esi + 0xa24], 0x52a150
mov dword [esi + 0xa28], eax
mov dword [esi + 0xa18], eax
mov dword [esi + 0xa1c], 0x52a150
movsd xmm0, qword [esi + 0xa18]
movsd qword [esi + 0x3a0], xmm0
lea eax, [esi + 0x348]
mov dword [esi + 0xa0c], eax
mov dword [esi + 0xa10], 0x52a150
mov dword [esi + 0xa14], eax
mov dword [esi + 0xa04], eax
mov dword [esi + 0xa08], 0x52a150
movsd xmm0, qword [esi + 0xa04]
movsd qword [esi + 0x3a8], xmm0
lea eax, [esi + 0x358]
mov dword [esi + 0x8f4], eax
mov dword [esi + 0x8f8], 0x473850
mov dword [esi + 0x8fc], eax
mov dword [esi + 0x8ec], eax
mov dword [esi + 0x8f0], 0x473850
movsd xmm0, qword [esi + 0x8ec]
movsd qword [esi + 0x3b0], xmm0
movsd xmm0, qword [esi + 0x398]
movsd qword [esi + 0x378], xmm0
movsd xmm0, qword [esi + 0x3a0]
movsd qword [esi + 0x380], xmm0
movsd xmm0, qword [esi + 0x3a8]
movsd qword [esi + 0x388], xmm0
movsd xmm0, qword [esi + 0x3b0]
movsd qword [esi + 0x390], xmm0
mov dword [esi + 0xb30], 0x10
mov eax, esp
lea ecx, [esi + 0x378]
mov dword [eax + 8], ecx
lea ecx, [esi + 0x360]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc348
call fcn.0043eb60
jmp 0x431eca
mov eax, esp
lea ecx, [esi + 0x350]
mov dword [eax], ecx
call fcn.004100a0
jmp 0x431c3d
mov eax, esp
lea ecx, [esi + 0x360]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc368
call fcn.005f6ab0
jmp 0x4318cc
mov edx, dword [esi + 0xc0]
mov eax, dword [esi + 0xbc]
mov edi, dword [esi + 0x150]
mov ebx, dword [esi + 0x154]
mov eax, dword [eax + 0x10]
mov ecx, esp
mov dword [ecx + 8], ebx
mov dword [ecx + 4], edi
mov dword [ecx], edx
call eax
mov dword [esi + 0x9c], edx
mov dword [esi + 0xa0], eax
jmp 0x431f1a
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0xa0]
mov dword [esi + 0x3b8], ecx
mov dword [esi + 0x3bc], eax
mov edx, dword [esi + 0x3b8]
mov eax, 1
xor ecx, ecx
cmp edx, 0
cmove eax, ecx
cmp eax, 1
jne 0x4320c4
mov eax, dword [esi + 0x120]
mov edx, dword [esi + 0x3b8]
mov ecx, dword [esi + 0x3bc]
mov dword [esi + 0x3c0], edx
mov dword [esi + 0x3c4], ecx
add eax, 0x48
mov dword [esi + 0x9f8], eax
mov dword [esi + 0x9fc], 0x52a150
mov dword [esi + 0xa00], eax
mov dword [esi + 0x9f0], eax
mov dword [esi + 0x9f4], 0x52a150
movsd xmm0, qword [esi + 0x9f0]
movsd qword [esi + 0x400], xmm0
lea eax, [esi + 0x128]
mov dword [esi + 0x9e4], eax
mov dword [esi + 0x9e8], 0x52a150
mov dword [esi + 0x9ec], eax
mov dword [esi + 0x9dc], eax
mov dword [esi + 0x9e0], 0x52a150
movsd xmm0, qword [esi + 0x9dc]
movsd qword [esi + 0x408], xmm0
lea eax, [esi + 0x150]
mov dword [esi + 0x9d0], eax
mov dword [esi + 0x9d4], 0x52a150
mov dword [esi + 0x9d8], eax
mov dword [esi + 0x9c8], eax
mov dword [esi + 0x9cc], 0x52a150
movsd xmm0, qword [esi + 0x9c8]
movsd qword [esi + 0x410], xmm0
lea eax, [esi + 0x3c0]
mov dword [esi + 0x8e0], eax
mov dword [esi + 0x8e4], 0x473850
mov dword [esi + 0x8e8], eax
mov dword [esi + 0x8d8], eax
mov dword [esi + 0x8dc], 0x473850
movsd xmm0, qword [esi + 0x8d8]
movsd qword [esi + 0x418], xmm0
movsd xmm0, qword [esi + 0x400]
movsd qword [esi + 0x3e0], xmm0
movsd xmm0, qword [esi + 0x408]
movsd qword [esi + 0x3e8], xmm0
movsd xmm0, qword [esi + 0x410]
movsd qword [esi + 0x3f0], xmm0
movsd xmm0, qword [esi + 0x418]
movsd qword [esi + 0x3f8], xmm0
mov dword [esi + 0xb30], 0xf
mov eax, esp
lea ecx, [esi + 0x3e0]
mov dword [eax + 8], ecx
lea ecx, [esi + 0x3c8]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc348
call fcn.0043eb60
jmp 0x4320d8
mov eax, esp
lea ecx, [esi + 0x3b8]
mov dword [eax], ecx
call fcn.004100a0
jmp 0x431c84
mov eax, esp
lea ecx, [esi + 0x3c8]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc378
call fcn.005f6ab0
jmp 0x4318cc
mov eax, dword [esi + 0x108]
mov dword [esi + 0x424], eax
mov edx, dword [esi + 0x424]
mov eax, 1
xor ecx, ecx
cmp edx, 0
cmove eax, ecx
cmp eax, 1
jne 0x43213a
mov ecx, dword [esi + 0x424]
mov dword [esi + 0x898], ecx
mov eax, esp
mov dword [eax], ecx
call fcn.004a8db0
mov dword [esi + 0x94], edx
mov dword [esi + 0x98], eax
jmp 0x432154
mov ecx, dword [esi + 0x120]
mov eax, esp
mov dword [eax], ecx
call fcn.004696c0
mov dword [esi + 0x90], eax
jmp 0x43282a
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x438]
mov dword [eax], ecx
call fcn.004f17f0
jmp 0x432177
cmp dword [esi + 0x438], 0
je 0x4321d5
mov eax, dword [esi + 0x444]
mov dword [esi + 0xb10], eax
movsd xmm0, qword [esi + 0x43c]
movsd qword [esi + 0xb08], xmm0
mov dword [esi + 0xb30], 2
mov eax, esp
lea ecx, [esi + 0xb08]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0x5fc388
mov dword [eax + 0xc], 0x5fa3e0
mov dword [eax + 4], 0x2b
mov dword [eax], 0x5fa3b4
call fcn.005f6d50
jmp 0x4321d3
ud2
mov ecx, dword [esi + 0x120]
mov eax, dword [esi + 0x444]
mov dword [esi + 0x430], eax
movsd xmm0, qword [esi + 0x43c]
movsd qword [esi + 0x428], xmm0
mov dword [esi + 0xb30], 9
mov eax, esp
mov dword [eax], ecx
call fcn.00469420
mov dword [esi + 0x8c], eax
jmp 0x432212
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x448], eax
mov eax, 1
xor ecx, ecx
cmp dword [esi + 0x448], 0x110000
cmove eax, ecx
cmp eax, 1
jne 0x43226c
mov eax, dword [esi + 0x448]
mov dword [esi + 0x88], eax
mov dword [esi + 0x89c], eax
mov ecx, dword [esi + 0x140]
mov edx, dword [esi + 0x144]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x44c]
mov dword [eax], ecx
call fcn.0045e9a0
jmp 0x43228c
mov eax, esp
lea ecx, [esi + 0x428]
mov dword [eax], ecx
call fcn.004f9830
mov dword [esi + 0x80], edx
mov dword [esi + 0x84], eax
jmp 0x432628
mov dword [esi + 0xb30], 0xb
mov eax, esp
lea ecx, [esi + 0x44c]
mov dword [eax], ecx
call fcn.005582d0
mov dword [esi + 0x78], edx
mov dword [esi + 0x7c], eax
jmp 0x4322ad
mov ecx, dword [esi + 0x7c]
mov edx, dword [esi + 0x78]
mov edi, dword [esi + 0x88]
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x468]
mov dword [eax], ecx
mov dword [eax + 0x10], 0x5fc398
call fcn.0045eb40
jmp 0x4322da
mov eax, esp
lea ecx, [esi + 0x468]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x458]
mov dword [eax], ecx
call fcn.00462bb0
jmp 0x4322f4
mov eax, dword [esi + 0x458]
mov dword [esi + 0x478], eax
mov eax, dword [esi + 0x45c]
mov dword [esi + 0x47c], eax
mov eax, dword [esi + 0x460]
mov dword [esi + 0x480], eax
mov eax, dword [esi + 0x464]
mov dword [esi + 0x484], eax
mov eax, esp
lea ecx, [esi + 0x478]
mov dword [eax], ecx
call fcn.00463660
mov dword [esi + 0x70], edx
mov dword [esi + 0x74], eax
jmp 0x43233b
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x488], ecx
mov dword [esi + 0x48c], eax
mov eax, dword [esi + 0x488]
cmp eax, 0
sete al
test al, 1
jne 0x43235f
jmp 0x43237a
mov dword [esi + 0xb30], 9
mov eax, esp
lea ecx, [esi + 0x44c]
mov dword [eax], ecx
call fcn.00413100
jmp 0x4323a9
mov ecx, dword [esi + 0x488]
mov eax, dword [esi + 0x48c]
mov dword [esi + 0x490], ecx
mov dword [esi + 0x494], eax
mov eax, esp
lea ecx, [esi + 0x428]
mov dword [eax], ecx
call fcn.004f9830
mov dword [esi + 0x68], edx
mov dword [esi + 0x6c], eax
jmp 0x4323c7
mov dword [esi + 0xb30], 0
mov eax, esp
lea ecx, [esi + 0x428]
mov dword [eax], ecx
call fcn.004106f0
jmp 0x43213a
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], eax
mov ecx, dword [esi + 0x490]
mov edx, dword [esi + 0x494]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x4a0]
mov dword [eax], ecx
call fcn.0045ec40
jmp 0x4323f6
mov dword [esi + 0xb30], 0xc
mov eax, esp
lea ecx, [esi + 0x4a0]
mov dword [eax], ecx
call fcn.00518a30
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
jmp 0x432417
mov edx, dword [esi + 0x60]
mov edi, dword [esi + 0x5c]
mov ebx, dword [esi + 0x58]
mov eax, dword [esi + 0x64]
mov eax, dword [eax + 0x10]
mov ecx, esp
mov dword [ecx + 8], ebx
mov dword [ecx + 4], edi
mov dword [ecx], edx
call eax
mov dword [esi + 0x50], edx
mov dword [esi + 0x54], eax
jmp 0x43243a
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x498], ecx
mov dword [esi + 0x49c], eax
mov edx, dword [esi + 0x498]
mov eax, 1
xor ecx, ecx
cmp edx, 0
cmove eax, ecx
cmp eax, 1
jne 0x4325de
mov eax, dword [esi + 0x120]
mov edx, dword [esi + 0x498]
mov ecx, dword [esi + 0x49c]
mov dword [esi + 0x4b0], edx
mov dword [esi + 0x4b4], ecx
add eax, 0x48
mov dword [esi + 0x9bc], eax
mov dword [esi + 0x9c0], 0x52a150
mov dword [esi + 0x9c4], eax
mov dword [esi + 0x9b4], eax
mov dword [esi + 0x9b8], 0x52a150
movsd xmm0, qword [esi + 0x9b4]
movsd qword [esi + 0x4f0], xmm0
lea eax, [esi + 0x128]
mov dword [esi + 0x9a8], eax
mov dword [esi + 0x9ac], 0x52a150
mov dword [esi + 0x9b0], eax
mov dword [esi + 0x9a0], eax
mov dword [esi + 0x9a4], 0x52a150
movsd xmm0, qword [esi + 0x9a0]
movsd qword [esi + 0x4f8], xmm0
lea eax, [esi + 0x490]
mov dword [esi + 0xafc], eax
mov dword [esi + 0xb00], 0x45eeb0
mov dword [esi + 0xb04], eax
mov dword [esi + 0xaf4], eax
mov dword [esi + 0xaf8], 0x45eeb0
movsd xmm0, qword [esi + 0xaf4]
movsd qword [esi + 0x500], xmm0
lea eax, [esi + 0x4b0]
mov dword [esi + 0x8cc], eax
mov dword [esi + 0x8d0], 0x473850
mov dword [esi + 0x8d4], eax
mov dword [esi + 0x8c4], eax
mov dword [esi + 0x8c8], 0x473850
movsd xmm0, qword [esi + 0x8c4]
movsd qword [esi + 0x508], xmm0
movsd xmm0, qword [esi + 0x4f0]
movsd qword [esi + 0x4d0], xmm0
movsd xmm0, qword [esi + 0x4f8]
movsd qword [esi + 0x4d8], xmm0
movsd xmm0, qword [esi + 0x500]
movsd qword [esi + 0x4e0], xmm0
movsd xmm0, qword [esi + 0x508]
movsd qword [esi + 0x4e8], xmm0
mov dword [esi + 0xb30], 0xd
mov eax, esp
lea ecx, [esi + 0x4d0]
mov dword [eax + 8], ecx
lea ecx, [esi + 0x4b8]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc348
call fcn.0043eb60
jmp 0x4325ef
mov eax, esp
lea ecx, [esi + 0x498]
mov dword [eax], ecx
call fcn.004100a0
jmp 0x43260a
mov eax, esp
lea ecx, [esi + 0x4b8]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc3a8
call fcn.005f6ab0
jmp 0x4318cc
mov dword [esi + 0xb30], 0xb
mov eax, esp
lea ecx, [esi + 0x4a0]
mov dword [eax], ecx
call fcn.00412b10
jmp 0x432324
mov edx, dword [esi + 0x84]
mov eax, dword [esi + 0x80]
mov edi, dword [esi + 0x140]
mov ebx, dword [esi + 0x144]
mov eax, dword [eax + 0x10]
mov ecx, esp
mov dword [ecx + 8], ebx
mov dword [ecx + 4], edi
mov dword [ecx], edx
call eax
mov dword [esi + 0x48], edx
mov dword [esi + 0x4c], eax
jmp 0x432657
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x510], ecx
mov dword [esi + 0x514], eax
mov edx, dword [esi + 0x510]
mov eax, 1
xor ecx, ecx
cmp edx, 0
cmove eax, ecx
cmp eax, 1
jne 0x4327fb
mov eax, dword [esi + 0x120]
mov edx, dword [esi + 0x510]
mov ecx, dword [esi + 0x514]
mov dword [esi + 0x518], edx
mov dword [esi + 0x51c], ecx
add eax, 0x48
mov dword [esi + 0x994], eax
mov dword [esi + 0x998], 0x52a150
mov dword [esi + 0x99c], eax
mov dword [esi + 0x98c], eax
mov dword [esi + 0x990], 0x52a150
movsd xmm0, qword [esi + 0x98c]
movsd qword [esi + 0x558], xmm0
lea eax, [esi + 0x128]
mov dword [esi + 0x980], eax
mov dword [esi + 0x984], 0x52a150
mov dword [esi + 0x988], eax
mov dword [esi + 0x978], eax
mov dword [esi + 0x97c], 0x52a150
movsd xmm0, qword [esi + 0x978]
movsd qword [esi + 0x560], xmm0
lea eax, [esi + 0x140]
mov dword [esi + 0xae8], eax
mov dword [esi + 0xaec], 0x4808f0
mov dword [esi + 0xaf0], eax
mov dword [esi + 0xae0], eax
mov dword [esi + 0xae4], 0x4808f0
movsd xmm0, qword [esi + 0xae0]
movsd qword [esi + 0x568], xmm0
lea eax, [esi + 0x518]
mov dword [esi + 0x8b8], eax
mov dword [esi + 0x8bc], 0x473850
mov dword [esi + 0x8c0], eax
mov dword [esi + 0x8b0], eax
mov dword [esi + 0x8b4], 0x473850
movsd xmm0, qword [esi + 0x8b0]
movsd qword [esi + 0x570], xmm0
movsd xmm0, qword [esi + 0x558]
movsd qword [esi + 0x538], xmm0
movsd xmm0, qword [esi + 0x560]
movsd qword [esi + 0x540], xmm0
movsd xmm0, qword [esi + 0x568]
movsd qword [esi + 0x548], xmm0
movsd xmm0, qword [esi + 0x570]
movsd qword [esi + 0x550], xmm0
mov dword [esi + 0xb30], 0xa
mov eax, esp
lea ecx, [esi + 0x538]
mov dword [eax + 8], ecx
lea ecx, [esi + 0x520]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc348
call fcn.0043eb60
jmp 0x43280f
mov eax, esp
lea ecx, [esi + 0x510]
mov dword [eax], ecx
call fcn.004100a0
jmp 0x4323a9
mov eax, esp
lea ecx, [esi + 0x520]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc3b8
call fcn.005f6ab0
jmp 0x4318cc
mov eax, dword [esi + 0x90]
mov dword [esi + 0x8a0], eax
mov eax, esp
lea ecx, [esi + 0x578]
mov dword [eax], ecx
mov dword [eax + 8], 6
mov dword [eax + 4], str.assert
call fcn.004741f0
jmp 0x432855
mov ecx, dword [esi + 0x120]
mov dword [esi + 0xb30], 3
mov eax, esp
mov dword [eax], ecx
call fcn.00469420
mov dword [esi + 0x44], eax
jmp 0x432873
mov eax, dword [esi + 0x44]
mov dword [esi + 0x6e8], eax
mov eax, 1
xor ecx, ecx
cmp dword [esi + 0x6e8], 0x110000
cmove eax, ecx
cmp eax, 1
jne 0x4328c7
mov eax, dword [esi + 0x6e8]
mov dword [esi + 0x40], eax
mov dword [esi + 0x8a4], eax
mov ecx, dword [esi + 0x140]
mov edx, dword [esi + 0x144]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x6ec]
mov dword [eax], ecx
call fcn.0045e9a0
jmp 0x432914
mov ecx, dword [esi + 0x90]
mov eax, dword [esi + 0x120]
mov dword [esi + 0x80c], eax
mov edx, dword [esi + 0x80c]
mov edi, dword [esi + 0x140]
mov ebx, dword [esi + 0x144]
mov eax, esp
mov dword [eax + 0x14], ebx
mov dword [eax + 0x10], edi
mov dword [eax + 0xc], edx
lea edx, [esi + 0x578]
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x7e8]
mov dword [eax], ecx
call fcn.00485ed0
jmp 0x432cca
mov dword [esi + 0xb30], 5
mov eax, esp
lea ecx, [esi + 0x6ec]
mov dword [eax], ecx
call fcn.005582d0
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], eax
jmp 0x432935
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x38]
mov edi, dword [esi + 0x40]
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x708]
mov dword [eax], ecx
mov dword [eax + 0x10], 0x5fc3d0
call fcn.0045eb40
jmp 0x43295f
mov eax, esp
lea ecx, [esi + 0x708]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x6f8]
mov dword [eax], ecx
call fcn.00462bb0
jmp 0x432979
mov eax, dword [esi + 0x6f8]
mov dword [esi + 0x718], eax
mov eax, dword [esi + 0x6fc]
mov dword [esi + 0x71c], eax
mov eax, dword [esi + 0x700]
mov dword [esi + 0x720], eax
mov eax, dword [esi + 0x704]
mov dword [esi + 0x724], eax
mov eax, esp
lea ecx, [esi + 0x718]
mov dword [eax], ecx
call fcn.00463660
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], eax
jmp 0x4329c0
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x728], ecx
mov dword [esi + 0x72c], eax
mov eax, dword [esi + 0x728]
cmp eax, 0
sete al
test al, 1
jne 0x4329e4
jmp 0x4329ff
mov dword [esi + 0xb30], 3
mov eax, esp
lea ecx, [esi + 0x6ec]
mov dword [eax], ecx
call fcn.00413100
jmp 0x432a40
mov eax, dword [esi + 0x120]
mov ecx, dword [esi + 0x728]
mov dword [esi + 0x28], ecx
mov edx, dword [esi + 0x72c]
mov dword [esi + 0x2c], edx
mov dword [esi + 0x8a8], ecx
mov dword [esi + 0x8ac], edx
mov dword [esi + 0x754], eax
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x758]
mov dword [eax], ecx
call fcn.0045ec40
jmp 0x432a5e
mov dword [esi + 0xb30], 0
mov eax, esp
lea ecx, [esi + 0x578]
mov dword [eax], ecx
call fcn.00411220
jmp 0x43147a
mov dword [esi + 0xb30], 6
mov eax, esp
lea ecx, [esi + 0x758]
mov dword [eax], ecx
call fcn.00518a30
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
jmp 0x432a7f
mov ecx, dword [esi + 0x90]
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x754]
mov eax, esp
mov dword [eax + 0x14], ebx
mov dword [eax + 0x10], edi
mov dword [eax + 0xc], edx
lea edx, [esi + 0x578]
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x730]
mov dword [eax], ecx
call fcn.00485ed0
jmp 0x432ab7
mov eax, dword [esi + 0x730]
cmp eax, 0
sete al
test al, 1
jne 0x432acc
jmp 0x432b9a
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x120]
mov edi, dword [esi + 0x744]
mov dword [esi + 0x778], edi
movsd xmm0, qword [esi + 0x734]
movsd xmm1, qword [esi + 0x73c]
movsd qword [esi + 0x770], xmm1
movsd qword [esi + 0x768], xmm0
add eax, 0x48
mov dword [esi + 0x96c], eax
mov dword [esi + 0x970], 0x52a150
mov dword [esi + 0x974], eax
mov dword [esi + 0x964], eax
mov dword [esi + 0x968], 0x52a150
movsd xmm0, qword [esi + 0x964]
movsd qword [esi + 0x7b8], xmm0
lea eax, [esi + 0x128]
mov dword [esi + 0x958], eax
mov dword [esi + 0x95c], 0x52a150
mov dword [esi + 0x960], eax
mov dword [esi + 0x950], eax
mov dword [esi + 0x954], 0x52a150
movsd xmm0, qword [esi + 0x950]
movsd qword [esi + 0x7c0], xmm0
mov dword [esi + 0xb30], 7
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x7d4]
mov dword [eax], ecx
call fcn.0045e960
jmp 0x432bae
mov eax, esp
lea ecx, [esi + 0x730]
mov dword [eax], ecx
call fcn.0040f7e0
jmp 0x432cac
lea eax, [esi + 0x7d4]
mov dword [esi + 0xac0], eax
mov dword [esi + 0xac4], 0x518810
mov dword [esi + 0xac8], eax
mov dword [esi + 0xab8], eax
mov dword [esi + 0xabc], 0x518810
movsd xmm0, qword [esi + 0xab8]
movsd qword [esi + 0x7c8], xmm0
lea eax, [esi + 0x768]
mov dword [esi + 0x91c], eax
mov dword [esi + 0x920], 0x43c450
mov dword [esi + 0x924], eax
mov dword [esi + 0x914], eax
mov dword [esi + 0x918], 0x43c450
movsd xmm0, qword [esi + 0x914]
movsd qword [esi + 0x7e0], xmm0
movsd xmm0, qword [esi + 0x7b8]
movsd qword [esi + 0x798], xmm0
movsd xmm0, qword [esi + 0x7c0]
movsd qword [esi + 0x7a0], xmm0
movsd xmm0, qword [esi + 0x7c8]
movsd qword [esi + 0x7a8], xmm0
movsd xmm0, qword [esi + 0x7e0]
movsd qword [esi + 0x7b0], xmm0
mov dword [esi + 0xb30], 8
mov eax, esp
lea ecx, [esi + 0x798]
mov dword [eax + 8], ecx
lea ecx, [esi + 0x780]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc348
call fcn.0043eb60
jmp 0x432c91
mov eax, esp
lea ecx, [esi + 0x780]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc3e0
call fcn.005f6ab0
jmp 0x4318cc
mov dword [esi + 0xb30], 5
mov eax, esp
lea ecx, [esi + 0x758]
mov dword [eax], ecx
call fcn.00412b10
jmp 0x4329a9
mov eax, dword [esi + 0x7e8]
cmp eax, 0
sete al
test al, 1
jne 0x432cdf
jmp 0x432e69
mov eax, dword [esi + 0x120]
mov ecx, dword [esi + 0x7fc]
mov dword [esi + 0x820], ecx
movsd xmm0, qword [esi + 0x7ec]
movsd xmm1, qword [esi + 0x7f4]
movsd qword [esi + 0x818], xmm1
movsd qword [esi + 0x810], xmm0
add eax, 0x48
mov dword [esi + 0x944], eax
mov dword [esi + 0x948], 0x52a150
mov dword [esi + 0x94c], eax
mov dword [esi + 0x93c], eax
mov dword [esi + 0x940], 0x52a150
movsd xmm0, qword [esi + 0x93c]
movsd qword [esi + 0x860], xmm0
lea eax, [esi + 0x128]
mov dword [esi + 0x930], eax
mov dword [esi + 0x934], 0x52a150
mov dword [esi + 0x938], eax
mov dword [esi + 0x928], eax
mov dword [esi + 0x92c], 0x52a150
movsd xmm0, qword [esi + 0x928]
movsd qword [esi + 0x868], xmm0
lea eax, [esi + 0x140]
mov dword [esi + 0xad4], eax
mov dword [esi + 0xad8], 0x4808f0
mov dword [esi + 0xadc], eax
mov dword [esi + 0xacc], eax
mov dword [esi + 0xad0], 0x4808f0
movsd xmm0, qword [esi + 0xacc]
movsd qword [esi + 0x870], xmm0
lea eax, [esi + 0x810]
mov dword [esi + 0x908], eax
mov dword [esi + 0x90c], 0x43c450
mov dword [esi + 0x910], eax
mov dword [esi + 0x900], eax
mov dword [esi + 0x904], 0x43c450
movsd xmm0, qword [esi + 0x900]
movsd qword [esi + 0x878], xmm0
movsd xmm0, qword [esi + 0x860]
movsd qword [esi + 0x840], xmm0
movsd xmm0, qword [esi + 0x868]
movsd qword [esi + 0x848], xmm0
movsd xmm0, qword [esi + 0x870]
movsd qword [esi + 0x850], xmm0
movsd xmm0, qword [esi + 0x878]
movsd qword [esi + 0x858], xmm0
mov dword [esi + 0xb30], 4
mov eax, esp
lea ecx, [esi + 0x840]
mov dword [eax + 8], ecx
lea ecx, [esi + 0x828]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc348
call fcn.0043eb60
jmp 0x432e7d
mov eax, esp
lea ecx, [esi + 0x7e8]
mov dword [eax], ecx
call fcn.0040f7e0
jmp 0x432a40
mov eax, esp
lea ecx, [esi + 0x828]
mov dword [eax], ecx
mov dword [eax + 4], 0x5fc3f0
call fcn.005f6ab0
jmp 0x4318cc