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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x475f83
push eax
mov dword fs:[0], esp
mov eax, 0x2330
push ebx
call fcn.004237a0
push esi
mov esi, dword [ebx + 8]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x54], ecx
push edi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
sub eax, 6
cmp eax, 1
ja 0x448b9f
add ecx, 0x30
call fcn.00463aa0
test al, al
je 0x448b98
mov ecx, dword [esi]
add ecx, 0x48
call fcn.00463aa0
test al, al
je 0x448b98
mov ecx, dword [esi]
add ecx, 0x78
call fcn.00463aa0
test al, al
je 0x448b98
mov ecx, dword [esi]
add ecx, 0x30
push ecx
call fcn.0040dab0
mov ecx, dword [esi]
add ecx, 0x48
mov dword [ebp - 0x34], eax
call fcn.0040dab0
mov edi, dword [esi]
add esp, 4
add edi, 0x60
mov dword [ebp - 0x38], eax
mov ecx, edi
cmp dword [edi + 0x14], 0x10
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x20], eax
jb 0x447c48
mov ecx, dword [edi]
push 5
push 0x484aa4
mov edx, eax
call fcn.0040f890
add esp, 8
test al, al
je 0x447c66
mov dword [ebp - 0x24], 0
jmp 0x447c91
cmp dword [edi + 0x14], 0x10
jb 0x447c6e
mov edi, dword [edi]
mov edx, dword [ebp - 0x20]
mov ecx, edi
push 4
push 0x484aac
call fcn.0040f890
add esp, 8
test al, al
je 0x448b91
mov dword [ebp - 0x24], 1
mov ecx, dword [esi]
add ecx, 0x78
push ecx
call fcn.0040dab0
mov ecx, dword [esi + 4]
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [esi]
sub ecx, eax
cmp ecx, 0xa8
jne 0x447cd1
lea ecx, [eax + 0x90]
push ecx
lea ecx, [ebp - 0x2c8]
call fcn.0040abe0
mov dword [ebp - 4], 0
mov ecx, 1
jmp 0x447cf9
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 1
mov ecx, 2
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x2b0]
push eax
call fcn.0040abe0
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x1c]
test al, 2
je 0x447d56
mov ecx, dword [ebp - 0x3c]
and eax, 0xfffffffd
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x447d56
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x447d49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448bce
push ecx
push edx
call fcn.0042275b
mov eax, dword [ebp - 0x1c]
add esp, 8
mov byte [ebp - 4], 4
test al, 1
je 0x447d69
lea ecx, [ebp - 0x2c8]
call fcn.00408e50
push 0x40
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.r2qkbnr_ppp2p1p_2n5_3P4_2BP1pb1_2N2p2_PPPQ2PP_R1B2RK1_b_kq__]
mov ecx, eax
mov dword [ebp - 0x288], 0x3e
mov dword [ebp - 0x298], ecx
mov dword [ebp - 0x284], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484ad4]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484ae4]
movups xmmword [ecx + 0x20], xmm0
movq xmm0, qword [0x484af4]
movq qword [ecx + 0x30], xmm0
mov eax, dword [0x484afc]
mov dword [ecx + 0x38], eax
movzx eax, word [0x484b00]
mov word [ecx + 0x3c], ax
mov byte [ecx + 0x3e], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x280]
push 0x40
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.r2qkbnr_ppp2p1p_8_nB1P4_3P1pb1_2N2p2_PPPQ2PP_R1B2RK1_b_kq__]
mov ecx, eax
mov dword [ebp - 0x270], 0x3c
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x26c], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484b14]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484b24]
movups xmmword [ecx + 0x20], xmm0
movq xmm0, qword [0x484b34]
movq qword [ecx + 0x30], xmm0
mov eax, dword [0x484b3c]
mov dword [ecx + 0x38], eax
mov byte [ecx + 0x3c], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x268]
push 0x40
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.r2qkbnr_pp3p1p_2p5_nB1P4_3P1Qb1_2N2p2_PPP3PP_R1B2RK1_b_kq__]
mov ecx, eax
mov dword [ebp - 0x258], 0x3c
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x254], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484b54]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484b64]
movups xmmword [ecx + 0x20], xmm0
movq xmm0, qword [0x484b74]
movq qword [ecx + 0x30], xmm0
mov eax, dword [0x484b7c]
mov dword [ecx + 0x38], eax
mov byte [ecx + 0x3c], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x250]
push 0x40
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0xf
call fcn.00408f50
mov dword [ebp - 0x250], eax
mov ecx, 0xf
mov dword [ebp - 0x240], 0x3f
mov dword [ebp - 0x23c], 0x3f
mov esi, str.r2qkb1r_pp3p1p_2p2n2_nB1P4_3P1Qb1_2N2p2_PPP3PP_R1B1R1K1_b_kq__
mov edi, eax
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [eax + 0x3f], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x238]
push 0x40
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.r2q1b1r_pp1k1p1p_2P2n2_nB6_3P1Qb1_2N2p2_PPP3PP_R1B1R1K1_b____]
mov ecx, eax
mov dword [ebp - 0x228], 0x3e
mov dword [ebp - 0x238], ecx
mov dword [ebp - 0x224], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484b94]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484ba4]
movups xmmword [ecx + 0x20], xmm0
movq xmm0, qword [0x484bb4]
movq qword [ecx + 0x30], xmm0
mov eax, dword [0x484bbc]
mov dword [ecx + 0x38], eax
movzx eax, word [0x484bc0]
mov word [ecx + 0x3c], ax
mov byte [ecx + 0x3e], 0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x220]
push 0x40
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.r2q1b1r_p2k1p1p_2p2n2_nB6_3PNQb1_5p2_PPP3PP_R1B1R1K1_b____]
mov ecx, eax
mov dword [ebp - 0x210], 0x3b
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x20c], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484bd4]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484be4]
movups xmmword [ecx + 0x20], xmm0
movq xmm0, qword [0x484bf4]
movq qword [ecx + 0x30], xmm0
movzx eax, word [0x484bfc]
mov word [ecx + 0x38], ax
mov al, byte [0x484bfe]
mov byte [ecx + 0x3a], al
mov byte [ecx + 0x3b], 0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x208]
push 0x40
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.r2q1b1r_p2k1p1p_2p5_nB6_3Pn1Q1_5p2_PPP3PP_R1B1R1K1_b____]
mov ecx, eax
mov dword [ebp - 0x1f8], 0x39
mov dword [ebp - 0x208], ecx
mov dword [ebp - 0x1f4], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484c50]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484c60]
movups xmmword [ecx + 0x20], xmm0
movq xmm0, qword [0x484c70]
movq qword [ecx + 0x30], xmm0
mov al, byte [0x484c78]
mov byte [ecx + 0x38], al
mov byte [ecx + 0x39], 0
mov byte [ebp - 4], 0xb
push 0x40
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.r2q1b1r_p1k2p1p_2p5_nB6_3PR1Q1_5p2_PPP3PP_R1B3K1_b____]
mov ecx, eax
mov dword [ebp - 0x1e0], 0x37
mov dword [ebp - 0x1f0], ecx
mov dword [ebp - 0x1dc], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484c8c]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484c9c]
movups xmmword [ecx + 0x20], xmm0
mov eax, dword [0x484cac]
mov dword [ecx + 0x30], eax
movzx eax, word [0x484cb0]
mov word [ecx + 0x34], ax
mov al, byte [0x484cb2]
mov byte [ecx + 0x36], al
mov byte [ecx + 0x37], 0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1d8]
push 0x40
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.r2q1b1r_p1k2p1p_8_np6_3PR3_5Q2_PPP3PP_R1B3K1_b____]
mov ecx, eax
mov dword [ebp - 0x1c8], 0x33
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0x1c4], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484cc4]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484cd4]
movups xmmword [ecx + 0x20], xmm0
movzx eax, word [0x484ce4]
mov word [ecx + 0x30], ax
mov al, byte [0x484ce6]
mov byte [ecx + 0x32], al
mov byte [ecx + 0x33], 0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1c0]
push 0x40
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.r4b1r_p1kq1p1p_8_np6_3P1R2_5Q2_PPP3PP_R1B3K1_b____]
mov ecx, eax
mov dword [ebp - 0x1b0], 0x33
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x1ac], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484cf8]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484d08]
movups xmmword [ecx + 0x20], xmm0
movzx eax, word [0x484d18]
mov word [ecx + 0x30], ax
mov al, byte [0x484d1a]
mov byte [ecx + 0x32], al
mov byte [ecx + 0x33], 0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1a8]
push 0x30
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
call fcn.00408f50
mov ecx, eax
mov dword [ebp - 0x198], 0x2f
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x194], 0x2f
movups xmm0, xmmword [str.r6r_p1kqbR1p_8_np6_3P4_5Q2_PPP3PP_R1B3K1_b____]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484d2c]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [0x484d3c]
movq qword [ecx + 0x20], xmm0
mov eax, dword [0x484d44]
mov dword [ecx + 0x28], eax
movzx eax, word [0x484d48]
mov word [ecx + 0x2c], ax
mov al, byte [0x484d4a]
mov byte [ecx + 0x2e], al
mov byte [ecx + 0x2f], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x190]
push 0x40
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.5r1r_p1kqbR1p_8_np6_3P1B2_5Q2_PPP3PP_R5K1_b____]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x180], 0x30
mov dword [ebp - 0x17c], 0x3f
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x484d5c]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x484d6c]
movups xmmword [eax + 0x20], xmm0
mov byte [eax + 0x30], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x178]
push 0x40
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.5r1r_p2qbR1p_1k6_np2B3_3P4_5Q2_PPP3PP_R5K1_b____]
mov ecx, eax
mov dword [ebp - 0x168], 0x31
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x164], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484d90]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484da0]
movups xmmword [ecx + 0x20], xmm0
mov al, byte [0x484db0]
mov byte [ecx + 0x30], al
mov byte [ecx + 0x31], 0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x160]
push 0x40
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.5rr1_p2qbR1p_1k6_np2B3_3P4_2P2Q2_PP4PP_R5K1_b____]
mov ecx, eax
mov dword [ebp - 0x150], 0x32
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x14c], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484dc4]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484dd4]
movups xmmword [ecx + 0x20], xmm0
movzx eax, word [0x484de4]
mov word [ecx + 0x30], ax
mov byte [ecx + 0x32], 0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x148]
push 0x40
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.5rr1_p2qbR1p_1kn5_1p2B3_3P4_2P2Q2_PP4PP_4R1K1_b____]
mov ecx, eax
mov dword [ebp - 0x138], 0x34
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x134], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484df8]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484e08]
movups xmmword [ecx + 0x20], xmm0
mov eax, dword [0x484e18]
mov dword [ecx + 0x30], eax
mov byte [ecx + 0x34], 0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x130]
push 0x40
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.4qRr1_p3b2p_1kn5_1p2B3_3P4_2P2Q2_PP4PP_4R1K1_b____]
mov ecx, eax
mov dword [ebp - 0x120], 0x33
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x11c], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484e30]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484e40]
movups xmmword [ecx + 0x20], xmm0
movzx eax, word [0x484e50]
mov word [ecx + 0x30], ax
mov al, byte [0x484e52]
mov byte [ecx + 0x32], al
mov byte [ecx + 0x33], 0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x118]
push 0x40
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.5qr1_p3b2p_1kn5_1p1QB3_3P4_2P5_PP4PP_4R1K1_b____]
mov ecx, eax
mov dword [ebp - 0x108], 0x31
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x104], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484e64]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484e74]
movups xmmword [ecx + 0x20], xmm0
mov al, byte [0x484e84]
mov byte [ecx + 0x30], al
mov byte [ecx + 0x31], 0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x100]
push 0x40
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.5q2_p3b2p_1kn5_1p1QB1r1_P2P4_2P5_1P4PP_4R1K1_b____]
mov ecx, eax
mov dword [ebp - 0xf0], 0x33
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xec], 0x3f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484e98]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x484ea8]
movups xmmword [ecx + 0x20], xmm0
movzx eax, word [0x484eb8]
mov word [ecx + 0x30], ax
mov al, byte [0x484eba]
mov byte [ecx + 0x32], al
mov byte [ecx + 0x33], 0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xe8]
push 0x40
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.5q2_p3b2p_1kn5_3QB1r1_p1PP4_8_1P4PP_4R1K1_b____]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xd8], 0x30
mov dword [ebp - 0xd4], 0x3f
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x484ecc]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x484edc]
movups xmmword [eax + 0x20], xmm0
mov byte [eax + 0x30], 0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xd0]
push 0x30
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.5q2_p3b2p_1k6_3QR1r1_p1PP4_8_1P4PP_6K1_b____]
mov ecx, eax
mov dword [ebp - 0xc0], 0x2d
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xbc], 0x2f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484f00]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [0x484f10]
movq qword [ecx + 0x20], xmm0
mov eax, dword [0x484f18]
mov dword [ecx + 0x28], eax
mov al, byte [0x484f1c]
mov byte [ecx + 0x2c], al
mov byte [ecx + 0x2d], 0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xb8]
push 0x30
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.5q2_p3b2p_1k6_4Q3_p1PP4_8_1P4PP_6K1_b____]
mov ecx, eax
mov dword [ebp - 0xa8], 0x2a
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xa4], 0x2f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484f30]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [0x484f40]
movq qword [ecx + 0x20], xmm0
movzx eax, word [0x484f48]
mov word [ecx + 0x28], ax
mov byte [ecx + 0x2a], 0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xa0]
push 0x30
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.3q4_p3b2p_1k6_2P1Q3_p2P4_8_1P4PP_6K1_b____]
mov ecx, eax
mov dword [ebp - 0x90], 0x2b
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x8c], 0x2f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484f5c]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [0x484f6c]
movq qword [ecx + 0x20], xmm0
movzx eax, word [0x484f74]
mov word [ecx + 0x28], ax
mov al, byte [0x484f76]
mov byte [ecx + 0x2a], al
mov byte [ecx + 0x2b], 0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x88]
push 0x30
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.3q4_p3b2p_8_1kP5_p2P4_8_1P2Q1PP_6K1_b____]
mov ecx, eax
mov dword [ebp - 0x78], 0x2a
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x74], 0x2f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484f88]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [0x484f98]
movq qword [ecx + 0x20], xmm0
movzx eax, word [0x484fa0]
mov word [ecx + 0x28], ax
mov byte [ecx + 0x2a], 0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x70]
push 0x30
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
call fcn.00408f50
movups xmm0, xmmword [str.3q4_p3b2p_8_2P5_pk1P4_3Q4_1P4PP_6K1_b____]
mov ecx, eax
mov dword [ebp - 0x60], 0x2a
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x5c], 0x2f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x484fb4]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [0x484fc4]
movq qword [ecx + 0x20], xmm0
movzx eax, word [0x484fcc]
mov word [ecx + 0x28], ax
mov byte [ecx + 0x2a], 0
lea esi, [ebp - 0x298]
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x58]
mov dword [ebp - 0x30], 0
sub eax, esi
mov dword [ebp - 0x2c], 0
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], eax
test eax, eax
je 0x4489c8
cmp eax, 0xaaaaaaa
ja 0x448bd3
push eax
call fcn.004091f0
mov edi, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
lea ecx, [eax + eax*2]
lea ecx, [edi + ecx*8]
lea eax, [ebp - 0x30]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x1e
cmp esi, eax
je 0x4489b8
nop
push esi
mov ecx, edi
call fcn.0040abe0
add edi, 0x18
lea eax, [ebp - 0x58]
add esi, 0x18
mov dword [ebp - 0x40], edi
cmp esi, eax
jne 0x4489a0
push ecx
mov edx, edi
mov ecx, edi
call fcn.00409110
add esp, 4
mov dword [ebp - 0x2c], edi
push fcn.00408e50
push 0x18
push 0x18
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0x20
push eax
call fcn.004229e2
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x2b0]
push eax
call fcn.0045b4f0
mov esi, dword [ebp - 0x54]
mov byte [ebp - 0x11], al
lea ecx, [esi + 0x18]
push ecx
lea edi, [esi + 8]
push edi
lea ecx, [ebp - 0x2340]
call fcn.004633d0
push dword [ebp - 0x34]
mov ecx, edi
mov byte [ebp - 4], 0x22
call fcn.00450710
push dword [ebp - 0x38]
mov ecx, edi
call fcn.0040db90
mov ecx, edi
call fcn.00450510
mov eax, dword [esi + 0x5ff4]
lea ecx, [esi + 0x6040]
mov dword [esi + 0x5f9c], eax
cmp dword [esi + 0x5fec], 0
setne al
mov byte [esi + 0x5fa8], al
mov eax, dword [esi + 0x5ff0]
mov dword [esi + 0x5fa0], eax
call fcn.00454ca0
cmp dword [ebp - 0x24], 0
mov byte [esi + 0x5f8f], 0
mov esi, dword [ebp - 0x20]
jne 0x448a92
push ecx
push esi
push 0
mov ecx, edi
call fcn.004500f0
jmp 0x448ab6
imul ecx, esi, 0x3e8
xor eax, eax
mov dword [edi + 0x5f00], 2
test ecx, ecx
cmovg eax, ecx
cdq
mov dword [edi + 0x5f50], eax
mov dword [edi + 0x5f54], edx
cmp byte [ebp - 0x11], 0
lea ecx, [ebp - 0x30]
mov edi, dword [ebp - 0x24]
lea eax, [ebp - 0x44]
cmove eax, ecx
lea ecx, [ebp - 0x2340]
push edi
push eax
call fcn.004615e0
mov edx, str.Hash_table_size_:
mov ecx, 0x49fc78
call fcn.0040d300
push dword [ebp - 0x34]
mov ecx, eax
call fcn.0040a590
mov edx, 0x484fd0
mov ecx, eax
call fcn.0040d300
push eax
call fcn.0040ec00
add esp, 4
mov ecx, 0x49fc78
test edi, edi
jne 0x448b1e
mov edx, str.Search_depth_:
call fcn.0040d300
push esi
mov ecx, eax
call fcn.0040a590
jmp 0x448b3c
mov edx, str.Search_time_:
call fcn.0040d300
push esi
mov ecx, eax
call fcn.0040a590
mov edx, 0x484ff8
mov ecx, eax
call fcn.0040d300
push eax
call fcn.0040ec00
add esp, 4
mov edx, str.Number_of_threads_:
mov ecx, 0x49fc78
call fcn.0040d300
push dword [ebp - 0x38]
mov ecx, eax
call fcn.0040a590
push eax
call fcn.0040ec00
add esp, 4
lea ecx, [ebp - 0x2340]
call fcn.00463370
lea ecx, [ebp - 0x44]
call fcn.00408ee0
lea ecx, [ebp - 0x30]
call fcn.00408ee0
lea ecx, [ebp - 0x2b0]
call fcn.00408e50
mov al, 1
jmp 0x448bb9
mov edx, str.bad_parameter
jmp 0x448ba4
mov edx, 0x484a94
jmp 0x448ba4
mov edx, 0x484a84
mov ecx, 0x49fc78
call fcn.0040d300
push eax
call fcn.0040ec00
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.004273af
call fcn.004091e0
int3