Function at 0x440110
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d4b22
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x517b80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], 0
cmp ebx, 0xffffffff
jne 0x44019e
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
call fcn.00442be0
mov esi, eax
mov ecx, dword [edi]
mov dword [ebp - 4], 0
test ecx, ecx
je 0x440174
call fcn.004a2a20
mov ecx, dword [esi]
mov dword [edi], ecx
test ecx, ecx
je 0x440181
call fcn.004a26e0
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], 1
test ecx, ecx
je 0x440194
call fcn.004a2a20
mov eax, 0x4e60d4
jmp 0x440228
movzx eax, word [esi + 0xc]
mov dword [ebp - 0x24], eax
movzx eax, ax
dec eax
mov dword [ebp - 0x28], ebx
cmp eax, 0x2e
ja case.0x4401bc.8
movzx eax, byte [eax + 0x442968]
jmp dword [eax*4 + 0x442900]
cmp ebx, 0xfffffffe
je 0x44265e
push edi
push 0x4e7800
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004433f0
test al, al
jne 0x44264b
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x1c]
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push eax
movq qword [ebp - 0x1c], xmm0
call fcn.00420640
movzx ecx, word [esi + 0x28]
mov dword [ebp - 4], 2
movzx eax, byte [esi + ecx*4 + 0x34]
sub eax, 1
je 0x4402df
sub eax, 1
je 0x440246
lea ecx, [ebp - 0x1c]
call fcn.0043ff40
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebp - 0x28], 0
mov ebx, dword [esi + ecx*4 + 0x48]
jne 0x440331
push 0x4e454c
mov ecx, edi
call fcn.004a2300
test ebx, ebx
je 0x4402b4
xor esi, esi
cmp esi, 0x68
jae 0x4402b4
mov ecx, dword [esi + 0x4eb550]
mov eax, ecx
and eax, ebx
cmp eax, ecx
jne 0x4402ad
mov eax, dword [esi + 0x4eb554]
not ecx
and ebx, ecx
cmp word [eax], 0
je 0x4402ad
mov ecx, edi
call fcn.004a2a40
test eax, eax
je 0x4402a0
push 0x4e51fc
mov ecx, edi
call fcn.004a2650
push dword [esi + 0x4eb554]
mov ecx, edi
call fcn.004a2650
add esi, 8
test ebx, ebx
jne 0x440266
mov ecx, edi
call fcn.004a2a40
test eax, eax
jne 0x4402cb
push 0x4eb8a0
mov ecx, edi
call fcn.004a2300
lea ecx, [ebp - 0x1c]
mov esi, 0x4eb52c
call fcn.0043ff40
mov eax, esi
jmp 0x440228
mov ebx, dword [ebp - 0x28]
test ebx, ebx
jne 0x440342
mov eax, dword [esi + ecx*4 + 0x4c]
cmp eax, 0x4e
jae 0x440331
lfence
push dword [eax*4 + 0x517260]
lea ecx, [ebp - 0x2c]
call fcn.00433aa0
push eax
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00419ad0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 4
test ecx, ecx
je 0x44031d
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4eb8c4
call fcn.0043ff40
mov eax, esi
jmp 0x440228
lea ecx, [ebp - 0x1c]
xor esi, esi
call fcn.0043ff40
mov eax, esi
jmp 0x440228
mov eax, dword [ebp - 0x14]
dec ebx
test eax, eax
je 0x440358
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], eax
jmp 0x440366
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], 0
mov ecx, esi
call fcn.00442bb0
push dword [esi + 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x28]
push eax
movzx eax, word [esi + 0x28]
add esi, 0x44
lea eax, [esi + eax*4]
push eax
push edi
push ebx
call fcn.00442e30
add esp, 0x1c
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp ebx, 0xfffffffe
je 0x442680
push edi
push 0x4e73e0
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004433f0
test al, al
jne 0x44264b
movzx ebx, word [esi + 0x28]
movzx eax, byte [esi + ebx*4 + 0x34]
sub eax, 2
je 0x440415
sub eax, 4
je 0x4403f8
sub eax, 2
jne case.default.0x4426a2
mov ecx, esi
call fcn.00442bb0
push dword [esi + ebx*4 + 0x44]
push eax
push edi
push dword [ebp - 0x28]
call fcn.00444cf0
add esp, 0x10
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
push dword [esi + ebx*4 + 0x44]
push eax
push edi
push dword [ebp - 0x28]
call fcn.00444540
add esp, 0x10
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
push dword [esi + 0x2c]
push dword [esi + ebx*4 + 0x44]
push eax
push edi
push dword [ebp - 0x28]
call fcn.00444bd0
add esp, 0x14
jmp 0x440228
push edi
push 0x4e7350
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004433f0
test al, al
jne 0x44264b
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x1c]
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push eax
movq qword [ebp - 0x1c], xmm0
call fcn.00420640
mov edx, dword [ebp - 0x14]
mov dword [ebp - 4], 5
test edx, edx
je case.default.0x4422c5
movzx eax, word [esi + 0x28]
movzx eax, byte [esi + eax*4 + 0x34]
dec eax
cmp eax, 7
ja case.default.0x4422c5
jmp dword [eax*4 + 0x442998]
push dword [esi + 0x2c]
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.004449e0
add esp, 0x14
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
push dword [esi + 0x2c]
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00444bd0
add esp, 0x14
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
mov ecx, dword [ebp - 0x28]
movzx eax, word [edx]
cmp ecx, 3
ja case.default.0x4404f4
jmp dword [ecx*4 + 0x4429b8]
xor ecx, ecx
cmp cx, ax
jae case.default.0x4404f4
movzx eax, byte [0x517640]
push eax
push dword [edx + 6]
lea eax, [ebp - 0x2c]
push dword [edx + 2]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.00419ad0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 7
test ecx, ecx
je 0x44053c
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4eb220
call fcn.0043ff40
mov eax, esi
jmp 0x440228
mov ecx, 8
cmp cx, ax
jae case.default.0x4404f4
movzx eax, byte [0x517640]
push eax
push dword [edx + 0xe]
lea eax, [ebp - 0x2c]
push dword [edx + 0xa]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.00419ad0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 9
test ecx, ecx
je 0x440594
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4eb24c
call fcn.0043ff40
mov eax, esi
jmp 0x440228
mov ecx, 0x10
cmp cx, ax
jae case.default.0x4404f4
movzx eax, byte [0x517640]
push eax
push 0
push dword [edx + 0x12]
lea eax, [ebp - 0x2c]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov byte [ebp - 4], 0xa
call fcn.00419ad0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xb
test ecx, ecx
je 0x4405eb
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4eb280
call fcn.0043ff40
mov eax, esi
jmp 0x440228
mov ecx, 0x14
cmp cx, ax
jae case.default.0x4404f4
movzx eax, byte [0x517640]
push eax
push 0
push dword [edx + 0x16]
lea eax, [ebp - 0x2c]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.00419ad0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xd
test ecx, ecx
je 0x440642
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4eb2b4
call fcn.0043ff40
mov eax, esi
jmp 0x440228
mov eax, dword [ebp - 0x28]
movzx ecx, word [edx]
sub eax, 0
je 0x4406c9
sub eax, 1
jne case.default.0x4404f4
mov eax, 4
cmp ax, cx
jae case.default.0x4404f4
push dword [edx + 6]
lea eax, [ebp - 0x2c]
push eax
call fcn.004672d0
add esp, 8
mov esi, eax
mov ecx, dword [edi]
mov byte [ebp - 4], 0x10
test ecx, ecx
je 0x440698
call fcn.004a2a20
mov ecx, dword [esi]
mov dword [edi], ecx
test ecx, ecx
je 0x4406a5
call fcn.004a26e0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x11
test ecx, ecx
je 0x4406b5
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4eb2ec
call fcn.0043ff40
mov eax, esi
jmp 0x440228
xor eax, eax
cmp ax, cx
jae case.default.0x4404f4
push dword [edx + 2]
lea eax, [ebp - 0x2c]
push eax
call fcn.00467300
add esp, 8
mov esi, eax
mov ecx, dword [edi]
mov byte [ebp - 4], 0xe
test ecx, ecx
je 0x4406f0
call fcn.004a2a20
mov ecx, dword [esi]
mov dword [edi], ecx
test ecx, ecx
je 0x4406fd
call fcn.004a26e0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xf
test ecx, ecx
je 0x44070d
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4eb2d4
call fcn.0043ff40
mov eax, esi
jmp 0x440228
lea ecx, [ebp - 0x1c]
xor esi, esi
call fcn.0043ff40
mov eax, esi
jmp 0x440228
push dword [esi + 0x2c]
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00444330
add esp, 0x14
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00444540
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.004447b0
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00444cf0
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp ebx, 0xfffffffe
je 0x44265e
push edi
push 0x4e7420
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004433f0
test al, al
jne 0x44264b
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x1c]
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push eax
movq qword [ebp - 0x1c], xmm0
call fcn.00420640
mov edx, dword [ebp - 0x14]
mov dword [ebp - 4], 0x12
test edx, edx
je case.default.0x4422c5
movzx ecx, word [esi + 0x28]
movzx eax, byte [esi + ecx*4 + 0x34]
add eax, 0xfffffffc
cmp eax, 0x1f
ja case.default.0x4422c5
movzx eax, byte [eax + 0x442a00]
jmp dword [eax*4 + 0x4429c8]
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00443b30
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
mov eax, dword [ebp - 0x28]
movzx ecx, word [edx]
sub eax, 0
je 0x4408d5
sub eax, 1
jne 0x44092d
mov eax, 4
cmp ax, cx
jae 0x44092d
push 0
push dword [edx + 6]
lea eax, [ebp - 0x2c]
push eax
call fcn.004696e0
add esp, 0xc
mov esi, eax
mov ecx, dword [edi]
mov byte [ebp - 4], 0x15
test ecx, ecx
je 0x4408a4
call fcn.004a2a20
mov ecx, dword [esi]
mov dword [edi], ecx
test ecx, ecx
je 0x4408b1
call fcn.004a26e0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x16
test ecx, ecx
je 0x4408c1
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4ead0c
call fcn.0043ff40
mov eax, esi
jmp 0x440228
xor eax, eax
cmp ax, cx
jae 0x44092d
push dword [edx + 2]
lea eax, [ebp - 0x2c]
push eax
call fcn.00468660
add esp, 8
mov esi, eax
mov ecx, dword [edi]
mov byte [ebp - 4], 0x13
test ecx, ecx
je 0x4408fc
call fcn.004a2a20
mov ecx, dword [esi]
mov dword [edi], ecx
test ecx, ecx
je 0x440909
call fcn.004a26e0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x14
test ecx, ecx
je 0x440919
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4eacf4
call fcn.0043ff40
mov eax, esi
jmp 0x440228
lea ecx, [ebp - 0x1c]
xor esi, esi
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp dword [ebp - 0x28], 0
jne case.default.0x4422c5
mov eax, dword [esi + ecx*4 + 0x44]
mov ecx, dword [edx + 2]
sub eax, 4
shr eax, 1
shr ecx, 1
cmp ecx, eax
cmovae ecx, eax
mov eax, ecx
and eax, 0x7fff
cmp dword [esi + 0x2c], eax
jb 0x440995
push ecx
lea eax, [edx + 6]
push eax
lea eax, [ebp - 0x34]
push eax
lfence
call fcn.004683b0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x28], 1
call fcn.00419ad0
mov ebx, 1
jmp 0x4409bc
xor esi, esi
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x18
push eax
mov ecx, edi
mov dword [ebp - 0x28], 2
call fcn.00419ad0
xor ebx, ebx
mov dword [ebp - 4], 0x19
mov dword [ebp - 4], 0x12
test bl, 1
je 0x4409d8
mov ecx, dword [ebp - 0x34]
mov byte [ebp - 4], 0x1a
test ecx, ecx
je 0x4409d8
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4e42f8
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.004436f0
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00443f50
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00444000
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00443c90
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00443590
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00443a80
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.00443be0
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
jmp 0x440c6b
push dword [esi + 0x2c]
movzx ecx, word [edx]
lea eax, [edx + 2]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call fcn.004441e0
add esp, 0x14
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
mov ecx, dword [ebp - 0x28]
movzx esi, word [edx]
cmp ecx, 5
jge 0x440b53
push esi
lea eax, [edx + 2]
push eax
push edi
push ecx
call fcn.004436f0
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp ecx, 0xa
jge 0x440b7e
lea eax, [esi - 0x28]
push eax
lea eax, [edx + 0x2a]
push eax
lea eax, [ecx - 5]
push edi
push eax
call fcn.00444000
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp ecx, 0xb
jge 0x440ba9
lea eax, [esi - 0x40]
push eax
lea eax, [edx + 0x42]
push eax
lea eax, [ecx - 0xa]
push edi
push eax
call fcn.00443b30
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp ecx, 0xc
jge 0x440bd4
lea eax, [esi - 0x48]
push eax
lea eax, [edx + 0x4a]
push eax
lea eax, [ecx - 0xb]
push edi
push eax
call fcn.00443a80
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp ecx, 0xd
jge 0x440bff
lea eax, [esi - 0x4c]
push eax
lea eax, [edx + 0x4e]
push eax
lea eax, [ecx - 0xc]
push edi
push eax
call fcn.00443590
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp ecx, 0xe
jge 0x440c2a
lea eax, [esi - 0x50]
push eax
lea eax, [edx + 0x52]
push eax
lea eax, [ecx - 0xd]
push edi
push eax
call fcn.00443f50
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp ecx, 0xf
jge 0x440c55
lea eax, [esi - 0x58]
push eax
lea eax, [edx + 0x5a]
push eax
lea eax, [ecx - 0xe]
push edi
push eax
call fcn.00443be0
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp ecx, 0x10
jge case.default.0x4422c5
lea eax, [esi - 0x5c]
push eax
lea eax, [edx + 0x5e]
push eax
push edi
lea eax, [ecx - 0xf]
push eax
call fcn.00443640
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.0043ff40
mov eax, esi
jmp 0x440228
cmp ebx, 0xfffffffe
jne 0x440d16
movzx ebx, word [esi + 0x28]
mov al, byte [esi + ebx*4 + 0x34]
cmp al, 0xd
jne 0x440cbd
mov ecx, esi
call fcn.00442bb0
push dword [esi + ebx*4 + 0x44]
push eax
push edi
push 0xfffffffffffffffe
call fcn.00443970
add esp, 0x10
test eax, eax
je 0x4424d0
jmp 0x440228
cmp al, 0x40
jne 0x440ce5
mov ecx, esi
call fcn.00442bb0
push dword [esi + ebx*4 + 0x44]
push eax
push edi
push 0xfffffffffffffffe
call fcn.00443900
add esp, 0x10
test eax, eax
je 0x4424d0
jmp 0x440228
cmp al, 0xa
je 0x4424c1
cmp al, 0x41
je 0x4424c1
cmp al, 0x42
je 0x4424c1
mov eax, dword [0x52d94c]
mov ecx, edi
push dword [eax + 0x10]
call fcn.004a2300
mov eax, 0x4eafdc
jmp 0x440228
push edi
push 0x4e76f0
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004433f0
test al, al
jne 0x44264b
movzx ebx, word [esi + 0x28]
movzx eax, byte [esi + ebx*4 + 0x34]
add eax, 0xfffffffc
cmp eax, 0x3e
ja case.default.0x4426a2
movzx eax, byte [eax + 0x442a54]
jmp dword [eax*4 + 0x442a20]
mov ecx, esi
call fcn.00442bb0
push dword [esi + ebx*4 + 0x44]
push eax
push edi
push dword [ebp - 0x28]
call fcn.004436f0
add esp, 0x10
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
push dword [esi + ebx*4 + 0x44]
push eax
push edi
push dword [ebp - 0x28]
call fcn.00443f50
add esp, 0x10
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
push dword [esi + ebx*4 + 0x44]
push eax
push edi
push dword [ebp - 0x28]
call fcn.00443900
add esp, 0x10
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
push dword [esi + ebx*4 + 0x44]
push eax
push edi
push dword [ebp - 0x28]
call fcn.00443970
add esp, 0x10
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
cmp dword [ebp - 0x28], 0
jne case.default.0x4426a2
cmp dword [esi + ebx*4 + 0x44], 0
jbe case.default.0x4426a2
movzx ecx, byte [0x517640]
push ecx
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x2c]
push eax
call fcn.0046ab10
add esp, 0x10
mov esi, eax
mov ecx, dword [edi]
mov dword [ebp - 4], 0x1b
test ecx, ecx
je 0x440e0f
call fcn.004a2a20
mov ecx, dword [esi]
mov dword [edi], ecx
test ecx, ecx
je 0x440e1c
call fcn.004a26e0
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], 0x1c
test ecx, ecx
je 0x440e2f
call fcn.004a2a20
mov eax, 0x4eae30
jmp 0x440228
mov ebx, dword [esi + ebx*4 + 0x44]
mov ecx, esi
call fcn.00442bb0
mov ecx, dword [ebp - 0x28]
mov edx, eax
sub ecx, 0
je 0x440f22
sub ecx, 1
jne case.default.0x4426a2
mov ecx, dword [edx + 8]
shr ecx, 1
cmp ecx, ebx
cmovb ebx, ecx
mov eax, ebx
and eax, 0x7fff
cmp dword [esi + 0x2c], eax
jb 0x440ea0
lea eax, [edx + 0xc]
push ebx
push eax
lea eax, [ebp - 0x38]
push eax
lfence
call fcn.004683b0
add esp, 0xc
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x30]
mov ebx, 0x40
mov dword [ebp - 4], 0x1d
mov dword [ebp - 0x2c], 0
jmp 0x440eba
xor esi, esi
mov dword [ebp - 0x30], esi
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x1e
mov ebx, 0x80
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], ebx
mov ecx, dword [edi]
mov dword [ebp - 0x28], ebx
test ecx, ecx
je 0x440ec8
call fcn.004a2a20
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx]
mov dword [edi], ecx
test ecx, ecx
je 0x440ed8
call fcn.004a26e0
cmp dword [ebp - 0x2c], 0
je 0x440ef9
and ebx, 0xffffff7f
mov dword [ebp - 0x28], ebx
mov dword [ebp - 4], 0x1f
test esi, esi
je 0x440ef9
mov ecx, esi
call fcn.004a2a20
mov dword [ebp - 4], 0xffffffff
test bl, 0x40
je 0x440f18
mov dword [ebp - 4], 0x20
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x440f18
call fcn.004a2a20
mov eax, 0x4eb118
jmp 0x440228
test ebx, ebx
je case.default.0x4426a2
cmp byte [edx], 0
mov ecx, 0x4eae6c
mov eax, 0x4eae60
cmove eax, ecx
mov ecx, edi
push eax
call fcn.004a2300
mov eax, 0x4eb12c
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
cmp dword [ebp - 0x28], 0
jne case.default.0x4426a2
cmp dword [esi + ebx*4 + 0x44], 0
jbe case.default.0x4426a2
push 0
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x38]
push eax
call fcn.0046ab10
add esp, 0x10
mov esi, eax
mov ecx, dword [edi]
mov dword [ebp - 4], 0x21
test ecx, ecx
je 0x440f8f
call fcn.004a2a20
mov ecx, dword [esi]
mov dword [edi], ecx
test ecx, ecx
je 0x440f9c
call fcn.004a26e0
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 4], 0x22
jmp 0x4419bf
mov ecx, esi
call fcn.00442bb0
cmp dword [ebp - 0x28], 0
jne case.default.0x4426a2
cmp dword [esi + ebx*4 + 0x44], 0
jbe case.default.0x4426a2
movzx ecx, byte [0x517640]
push ecx
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x38]
push eax
call fcn.0046ab10
add esp, 0x10
mov esi, eax
mov ecx, dword [edi]
mov dword [ebp - 4], 0x23
test ecx, ecx
je 0x440ff4
call fcn.004a2a20
mov ecx, dword [esi]
mov dword [edi], ecx
test ecx, ecx
je 0x441001
call fcn.004a26e0
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 4], 0x24
test ecx, ecx
je 0x441014
call fcn.004a2a20
mov eax, 0x4eae00
jmp 0x440228
mov ebx, dword [esi + ebx*4 + 0x44]
mov ecx, esi
call fcn.00442bb0
mov ecx, dword [ebp - 0x28]
mov edx, eax
sub ecx, 0
je 0x440f22
sub ecx, 1
jne case.default.0x4426a2
movzx ecx, word [ebx + edx]
mov eax, ecx
and eax, 0x7fff
cmp dword [esi + 0x2c], eax
jb 0x44107e
push ecx
lea eax, [ebx + 2]
add eax, edx
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.004683b0
add esp, 0xc
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x2c]
mov ebx, 0x100
mov dword [ebp - 4], 0x25
mov dword [ebp - 0x30], 0
jmp 0x441098
xor esi, esi
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x26
mov ebx, 0x200
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ebx
mov ecx, dword [edi]
mov dword [ebp - 0x28], ebx
test ecx, ecx
je 0x4410a6
call fcn.004a2a20
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx]
mov dword [edi], ecx
test ecx, ecx
je 0x4410b6
call fcn.004a26e0
cmp dword [ebp - 0x30], 0
je 0x4410d7
and ebx, 0xfffffdff
mov dword [ebp - 0x28], ebx
mov dword [ebp - 4], 0x27
test esi, esi
je 0x4410d7
mov ecx, esi
call fcn.004a2a20
mov dword [ebp - 4], 0xffffffff
test ebx, 0x100
je 0x440f18
mov dword [ebp - 4], 0x28
jmp 0x440f0c
mov ebx, dword [esi + ebx*4 + 0x44]
mov ecx, esi
call fcn.00442bb0
mov ecx, dword [ebp - 0x28]
sub ecx, 0
je 0x4411c7
sub ecx, 1
jne case.default.0x4426a2
movzx edx, word [ebx + eax]
lea ecx, [ebx + eax]
mov eax, edx
and eax, 0x7fff
cmp dword [esi + 0x2c], eax
jb 0x441155
push edx
lea eax, [ecx + 2]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.004683b0
add esp, 0xc
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x2c]
mov ebx, 0x10
mov dword [ebp - 4], 0x2b
mov dword [ebp - 0x30], 0
jmp 0x44116f
xor esi, esi
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x2c
mov ebx, 0x20
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ebx
mov ecx, dword [edi]
mov dword [ebp - 0x28], ebx
test ecx, ecx
je 0x44117d
call fcn.004a2a20
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx]
mov dword [edi], ecx
test ecx, ecx
je 0x44118d
call fcn.004a26e0
cmp dword [ebp - 0x30], 0
je 0x4411ab
and ebx, 0xffffffdf
mov dword [ebp - 0x28], ebx
mov dword [ebp - 4], 0x2d
test esi, esi
je 0x4411ab
mov ecx, esi
call fcn.004a2a20
mov dword [ebp - 4], 0xffffffff
test bl, 0x10
je 0x440f18
mov dword [ebp - 4], 0x2e
jmp 0x440f0c
test ebx, ebx
je case.default.0x4426a2
mov eax, dword [eax]
push 0x4e51fc
push 1
push 3
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push 0x4eb030
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00464c70
add esp, 0x18
mov esi, eax
mov ecx, dword [edi]
mov dword [ebp - 4], 0x29
test ecx, ecx
je 0x441206
call fcn.004a2a20
mov ecx, dword [esi]
mov dword [edi], ecx
test ecx, ecx
je 0x441213
call fcn.004a26e0
mov dword [ebp - 4], 0x2a
jmp 0x44275b
mov ecx, esi
call fcn.00442bb0
push dword [esi + 0x2c]
push dword [esi + ebx*4 + 0x44]
push eax
push edi
push dword [ebp - 0x28]
call fcn.004441e0
add esp, 0x14
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
cmp dword [ebp - 0x28], 0
mov edx, eax
jne case.default.0x4426a2
mov ecx, dword [edx]
mov eax, ecx
and eax, 0x7fff
cmp dword [esi + 0x2c], eax
jb 0x44128c
push ecx
lea eax, [edx + 4]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004683b0
add esp, 0xc
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x2c]
mov ebx, 0x400
mov dword [ebp - 4], 0x2f
mov dword [ebp - 0x30], 0
jmp 0x4412a6
xor esi, esi
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x30
mov ebx, 0x800
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ebx
mov ecx, dword [edi]
mov dword [ebp - 0x28], ebx
test ecx, ecx
je 0x4412b4
call fcn.004a2a20
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx]
mov dword [edi], ecx
test ecx, ecx
je 0x4412c4
call fcn.004a26e0
cmp dword [ebp - 0x30], 0
je 0x4412e5
and ebx, 0xfffff7ff
mov dword [ebp - 0x28], ebx
mov dword [ebp - 4], 0x31
test esi, esi
je 0x4412e5
mov ecx, esi
call fcn.004a2a20
mov dword [ebp - 4], 0xffffffff
test ebx, 0x400
je 0x441307
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x32
test ecx, ecx
je 0x441307
call fcn.004a2a20
mov eax, 0x4eb53c
jmp 0x440228
cmp byte [0x51763e], 0
mov eax, ebx
movzx edx, word [esi + 0x28]
lea ecx, [esi + edx*4]
je 0x44145a
test byte [esi + edx*4 + 0x40], 2
jne 0x44145a
test ebx, ebx
jne 0x441457
movzx ecx, byte [esi + edx*4 + 0x34]
lea eax, [ecx - 1]
cmp eax, 3
ja case.default.0x441347
jmp dword [eax*4 + 0x442a94]
push 0x4eb8f0
mov ecx, edi
call fcn.004a2300
mov eax, 0x4eb94c
jmp 0x440228
push 0x4eb8fc
mov ecx, edi
call fcn.004a2300
mov eax, 0x4eb94c
jmp 0x440228
push 0x4eb918
mov ecx, edi
call fcn.004a2300
mov eax, 0x4eb94c
jmp 0x440228
push 0x4eb92c
mov ecx, edi
call fcn.004a2300
mov eax, 0x4eb94c
jmp 0x440228
mov eax, ecx
cdq
push edx
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00469740
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0x33
push 0x4eb8a4
push eax
call fcn.004a23a0
mov esi, eax
push 0x4eb8bc
mov byte [ebp - 4], 0x34
call fcn.004a27e0
push eax
push 0x4eb8bc
call fcn.004a29e0
add esp, 0x24
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x24]
mov ecx, esi
push eax
call fcn.004a24b0
push eax
mov ecx, edi
mov byte [ebp - 4], 0x36
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x37
test ecx, ecx
je 0x44141a
call fcn.004a2a20
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x38
test ecx, ecx
je 0x44142a
call fcn.004a2a20
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x39
test ecx, ecx
je 0x44143a
call fcn.004a2a20
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 4], 0x3a
test ecx, ecx
je 0x44144d
call fcn.004a2a20
mov eax, 0x4eb94c
jmp 0x440228
lea eax, [ebx - 1]
lea ebx, [edx*4 + 0x34]
mov dl, byte [esi + ebx]
cmp dl, 1
je 0x44146d
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 3
ja case.default.0x4426a2
jmp dword [eax*4 + 0x442aa4]
cmp byte [ecx + 0x59], 0
mov edx, 0x4eae60
mov eax, 0x4eae6c
mov ecx, edi
cmovne eax, edx
push eax
call fcn.004a2300
mov eax, 0x4eb960
jmp 0x440228
push 0
push dword [ecx + 0x50]
lea eax, [ebp - 0x24]
push dword [ecx + 0x4c]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x3b
call fcn.00419ad0
mov dword [ebp - 4], 0x3c
jmp 0x44250a
mov ecx, esi
call fcn.00442bb0
mov ecx, dword [esi + 0x2c]
add eax, 8
add ecx, esi
add ecx, ebx
cmp eax, ecx
jae 0x441522
lfence
mov bl, byte [0x517640]
mov ecx, esi
call fcn.00442bb0
push ebx
push 0
push dword [eax]
lea eax, [ebp - 0x20]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x3d
mov dword [ebp - 0x28], 4
call fcn.00419ad0
mov ebx, 4
jmp 0x441549
xor esi, esi
mov dword [ebp - 0x24], esi
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x3e
push eax
mov ecx, edi
mov dword [ebp - 0x28], 8
call fcn.00419ad0
xor ebx, ebx
mov dword [ebp - 4], 0x3f
mov dword [ebp - 4], 0xffffffff
test bl, 4
je 0x44255b
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 4], 0x40
jmp 0x442552
cmp dl, 1
jne case.default.0x4426a2
cmp byte [ecx + 0x58], 0
mov edx, 0x4eae6c
mov eax, 0x4eae60
mov ecx, edi
cmove eax, edx
push eax
call fcn.004a2300
mov eax, 0x4eb984
jmp 0x440228
movzx eax, word [esi + 0x28]
add eax, 0x11
lea edx, [esi + eax*4]
lea eax, [ebx + 2]
mov dword [ebp - 0x20], edx
cmp eax, 5
ja case.default.0x4426a2
jmp dword [eax*4 + 0x442ab4]
mov eax, dword [0x52d94c]
xor ecx, ecx
cmp word [ebp - 0x24], 0x17
setne cl
lea ecx, [ecx*4 + 4]
push dword [ecx + eax]
mov ecx, edi
call fcn.004a2300
mov eax, 0x4eafdc
jmp 0x440228
movzx eax, byte [0x517640]
push eax
push dword [edx + 0xc]
lea eax, [ebp - 0x24]
push dword [edx + 8]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x41
call fcn.00419ad0
mov dword [ebp - 4], 0x42
jmp 0x44250a
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
push eax
movq qword [ebp - 0x1c], xmm0
call fcn.00420640
movzx eax, byte [0x517640]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], 0x43
push eax
push 0
test ecx, ecx
je 0x441664
push dword [ecx + 2]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov byte [ebp - 4], 0x44
call fcn.00419ad0
mov byte [ebp - 4], 0x45
jmp 0x441685
mov eax, dword [ebp - 0x20]
push dword [eax]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov byte [ebp - 4], 0x46
call fcn.00419ad0
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x441691
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
call fcn.0043ff40
mov eax, 0x4e6328
jmp 0x440228
movzx eax, word [esi + 0x28]
push dword [esi + eax*4 + 0x3c]
lea eax, [ebp - 0x24]
push eax
call fcn.004699b0
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x48
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x49
test ecx, ecx
je 0x4416d9
call fcn.004a2a20
mov ecx, edi
mov dword [ebp - 4], 0xffffffff
call fcn.004a2a40
test eax, eax
je case.0x4415ad.3
mov eax, 0x4eb9a8
jmp 0x440228
movzx eax, word [esi + 0x28]
push dword [esi + eax*4 + 0x3c]
lea eax, [ebp - 0x24]
push eax
call fcn.004699b0
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x4a
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x4b
test ecx, ecx
je 0x44172b
call fcn.004a2a20
mov dword [ebp - 4], 0xffffffff
cmp ebx, 2
je 0x441746
mov ecx, edi
call fcn.004a2a40
test eax, eax
je case.default.0x4426a2
movzx eax, word [esi + 0x28]
push dword [esi + eax*4 + 0x3c]
lea eax, [ebp - 0x24]
push eax
call fcn.004699f0
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x4c
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x4d
test ecx, ecx
je 0x44177c
call fcn.004a2a20
mov ecx, edi
mov dword [ebp - 4], 0xffffffff
call fcn.004a2a40
test eax, eax
je case.default.0x4426a2
mov eax, 0x4eb9bc
jmp 0x440228
movzx eax, word [esi + 0x28]
lea ecx, [ebx + 2]
add eax, 0x11
lea edx, [esi + eax*4]
mov eax, dword [edx + 4]
shr eax, 0x18
mov dword [ebp - 0x24], edx
cmp ecx, 9
ja case.default.0x4426a2
lea ecx, [ebx + 2]
jmp dword [ecx*4 + 0x442acc]
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x1c]
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push eax
or esi, 0xffffffff
movq qword [ebp - 0x1c], xmm0
call fcn.00420640
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x4e
test eax, eax
je 0x4417f4
mov esi, dword [eax + 2]
mov eax, dword [ebp - 0x24]
push esi
movzx eax, byte [eax + 7]
push eax
call fcn.00468750
add esp, 8
test eax, eax
je case.default.0x4422c5
mov ecx, dword [0x52d94c]
push dword [ecx + eax*4]
mov ecx, edi
call fcn.004a2300
lea ecx, [ebp - 0x1c]
call fcn.0043ff40
mov eax, 0x4eafdc
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
push dword [eax]
lea eax, [ebp - 0x24]
push eax
call fcn.00468430
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x4f
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x50
test ecx, ecx
je 0x441866
call fcn.004a2a20
mov eax, 0x4eb9d0
jmp 0x440228
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004687c0
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x51
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x52
test ecx, ecx
je 0x44189f
call fcn.004a2a20
mov eax, 0x4eb9f0
jmp 0x440228
mov eax, dword [edx + 4]
and eax, 0xffffff
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00468a70
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x53
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x54
test ecx, ecx
je 0x4418e0
call fcn.004a2a20
mov eax, 0x4eba08
jmp 0x440228
movzx eax, word [edx + 8]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00468660
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x55
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x56
test ecx, ecx
je 0x44191d
call fcn.004a2a20
mov eax, 0x4eacf4
jmp 0x440228
movzx eax, word [edx + 0xa]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00468aa0
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x57
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x58
test ecx, ecx
je 0x44195a
call fcn.004a2a20
mov eax, 0x4eba18
jmp 0x440228
cmp eax, 2
je 0x44198d
cmp eax, 3
je 0x44198d
cmp eax, 5
je 0x44198d
test eax, eax
je 0x44198d
push 0x4e5164
mov ecx, edi
call fcn.004a2300
mov eax, 0x4eade0
jmp 0x440228
movzx eax, byte [0x517640]
push eax
push 0
push dword [edx + 0x18]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x59
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x5a
test ecx, ecx
je 0x4419c8
call fcn.004a2a20
mov eax, 0x4eade0
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
cmp byte [eax + 4], 0
je case.0x4417be.7
mov ecx, esi
call fcn.00442bb0
add eax, 8
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0046a660
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x5b
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x5c
test ecx, ecx
je 0x441a18
call fcn.004a2a20
mov eax, 0x4eba2c
jmp 0x440228
mov ecx, esi
call fcn.00442bb0
cmp byte [eax + 4], 0
jne 0x441a38
cmp ebx, 6
jne case.default.0x4426a2
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x1c]
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push eax
movq qword [ebp - 0x1c], xmm0
call fcn.00420640
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x5d
test eax, eax
je case.default.0x4422c5
push dword [eax + 2]
lea eax, [ebp - 0x24]
push eax
call fcn.00468940
add esp, 8
push eax
mov ecx, edi
mov byte [ebp - 4], 0x5e
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x5f
test ecx, ecx
je 0x441a90
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
call fcn.0043ff40
mov eax, 0x4eba48
jmp 0x440228
movzx eax, word [esi + 0x28]
cmp ebx, 0xfffffffe
je 0x44265e
test ebx, ebx
jne case.default.0x4426a2
push dword [esi + eax*4 + 0x44]
lea eax, [ebp - 0x24]
push eax
call fcn.0046bd50
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x60
call fcn.00419ad0
mov dword [ebp - 4], 0x61
jmp 0x441b1a
movzx eax, word [esi + 0x28]
cmp ebx, 0xfffffffe
je 0x442680
test ebx, ebx
jne case.default.0x4426a2
push dword [esi + eax*4 + 0x44]
lea eax, [ebp - 0x24]
push eax
call fcn.0046bd50
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x62
call fcn.00419ad0
mov dword [ebp - 4], 0x63
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x441b26
call fcn.004a2a20
mov eax, 0x4eba60
jmp 0x440228
movzx eax, word [esi + 0x28]
lea ecx, [esi + eax*4]
sub ebx, 0
je 0x441bb2
sub ebx, 1
je 0x441b7d
sub ebx, 1
jne case.default.0x4426a2
movzx eax, byte [0x517640]
push eax
push ebx
push dword [ecx + 0x4c]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x66
call fcn.00419ad0
mov dword [ebp - 4], 0x67
jmp 0x44254f
movzx eax, byte [0x517640]
push eax
push dword [ecx + 0x48]
lea eax, [ebp - 0x24]
push dword [ecx + 0x44]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x64
call fcn.00419ad0
mov dword [ebp - 4], 0x65
jmp 0x44250a
cmp byte [ecx + 0x54], 0
mov edx, 0x4e608c
mov eax, 0x4e6080
mov ecx, edi
cmove eax, edx
push eax
call fcn.004a2300
mov eax, 0x4eba78
jmp 0x440228
movzx eax, word [esi + 0x28]
test ebx, ebx
jne case.default.0x4426a2
mov ecx, dword [esi + eax*4 + 0x44]
lea eax, [ecx - 3]
cmp eax, 0x32
ja case.0x441bf4.4
movzx eax, byte [eax + 0x442b08]
jmp dword [eax*4 + 0x442af4]
push 0x4eba8c
mov ecx, edi
call fcn.004a2300
mov eax, 0x4ebab0
jmp 0x440228
push 0x4eba9c
mov ecx, edi
call fcn.004a2300
mov eax, 0x4ebab0
jmp 0x440228
push 0x4e5a5c
mov ecx, edi
call fcn.004a2300
mov eax, 0x4ebab0
jmp 0x440228
push 0x4ebaa8
mov ecx, edi
call fcn.004a2300
mov eax, 0x4ebab0
jmp 0x440228
push 0
push ecx
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0x68
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x69
test ecx, ecx
je 0x441c84
call fcn.004a2a20
mov eax, 0x4ebab0
jmp 0x440228
movzx eax, word [esi + 0x28]
lea ecx, [esi + eax*4]
mov eax, dword [ecx + 0x4c]
cmp ebx, 0xfffffffe
je 0x441f28
test ebx, ebx
je 0x441f03
cmp eax, 0x119ff8
ja 0x441e59
je 0x441e1c
cmp eax, 0x94264
je 0x441d98
cmp eax, 0x98268
je 0x441d14
cmp eax, 0x116000
jne case.default.0x4426a2
cmp ebx, 1
jne case.default.0x4426a2
movzx eax, byte [0x517640]
push eax
push 0
push dword [ecx + 0x48]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x6c
call fcn.00419ad0
mov dword [ebp - 4], 0x6d
jmp 0x44254f
cmp ebx, 1
je 0x441d5d
cmp ebx, 2
jne case.default.0x4426a2
mov bl, byte [0x517640]
mov ecx, esi
call fcn.00442bb0
push ebx
push dword [eax + 0x14]
push dword [eax + 0x10]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x7a
call fcn.00419ad0
mov dword [ebp - 4], 0x7b
jmp 0x44254f
mov bl, byte [0x517640]
mov ecx, esi
call fcn.00442bb0
push ebx
push dword [eax + 0xc]
push dword [eax + 8]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x78
call fcn.00419ad0
mov dword [ebp - 4], 0x79
jmp 0x44250a
cmp ebx, 1
je 0x441de1
cmp ebx, 2
jne case.default.0x4426a2
mov bl, byte [0x517640]
mov ecx, esi
call fcn.00442bb0
push ebx
push dword [eax + 0x1c]
push dword [eax + 0x18]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x76
call fcn.00419ad0
mov dword [ebp - 4], 0x77
jmp 0x44254f
mov bl, byte [0x517640]
mov ecx, esi
call fcn.00442bb0
push ebx
push dword [eax + 0x14]
push dword [eax + 0x10]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x74
call fcn.00419ad0
mov dword [ebp - 4], 0x75
jmp 0x44250a
cmp ebx, 1
jne case.default.0x4426a2
movzx eax, byte [0x517640]
push eax
push 0
push dword [ecx + 0x44]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x6e
call fcn.00419ad0
mov dword [ebp - 4], 0x6f
jmp 0x44254f
cmp eax, 0x11c017
je 0x441e6b
cmp eax, 0x11dfff
jne case.default.0x4426a2
cmp ebx, 1
je 0x441ebe
cmp ebx, 2
jne case.default.0x4426a2
movzx eax, byte [0x517640]
push eax
push 0
push dword [ecx + 0x48]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x72
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x73
test ecx, ecx
je 0x441eb4
call fcn.004a2a20
mov eax, 0x4ebaf0
jmp 0x440228
movzx eax, byte [0x517640]
push eax
push 0
push dword [ecx + 0x44]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x70
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0x71
test ecx, ecx
je 0x441ef9
call fcn.004a2a20
mov eax, 0x4ebad8
jmp 0x440228
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00464e60
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x6a
call fcn.00419ad0
mov dword [ebp - 4], 0x6b
jmp 0x441f85
push eax
call fcn.0043ffa0
mov ecx, dword [0x52d94c]
add esp, 4
mov eax, dword [ecx + eax*4]
mov ecx, edi
push eax
call fcn.004a2300
mov eax, 0x4eafdc
jmp 0x440228
movzx eax, word [esi + 0x28]
lea eax, [esi + eax*4]
cmp ebx, 0xfffffffe
je 0x441f9b
test ebx, ebx
jne case.default.0x4426a2
push dword [eax + 0x4c]
lea eax, [ebp - 0x24]
push eax
call fcn.00464e60
add esp, 8
push eax
mov ecx, edi
mov dword [ebp - 4], 0x7c
call fcn.00419ad0
mov dword [ebp - 4], 0x7d
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x441f91
call fcn.004a2a20
mov eax, 0x4ebac8
jmp 0x440228
push dword [eax + 0x4c]
call fcn.0043ffa0
mov ecx, dword [0x52d94c]
add esp, 4
mov eax, dword [ecx + eax*4]
mov ecx, edi
push eax
call fcn.004a2300
mov eax, 0x4eafdc
jmp 0x440228
movzx eax, word [esi + 0x28]
lea esi, [esi + eax*4]
sub ebx, 0
je 0x442058
sub ebx, 1
jne case.default.0x4426a2
cmp dword [esi + 0x44], 1
jne case.default.0x4426a2
mov eax, dword [esi + 0x48]
test al, 2
je 0x441ff2
push 0x4ebb78
jmp 0x442032
test al, 4
je 0x441ffd
push 0x4ebb94
jmp 0x442032
test al, 8
je 0x442008
push 0x4ebbb4
jmp 0x442032
test al, 0x10
je 0x442013
push 0x4ebbd4
jmp 0x442032
test al, 0x20
je 0x44201e
push 0x4ebbf0
jmp 0x442032
test al, 0x40
je 0x442029
push 0x4ebc14
jmp 0x442032
test al, al
jns 0x442039
push 0x4ebc44
mov ecx, edi
call fcn.004a2300
test dword [esi + 0x48], 0x200
je 0x44204e
push 0x4ebc74
mov ecx, edi
call fcn.004a2650
mov eax, 0x4ebc90
jmp 0x440228
mov eax, dword [esi + 0x44]
mov ecx, eax
sub ecx, 0
je 0x4420db
sub ecx, 1
je 0x4420c5
cdq
push edx
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00469740
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x7e
push 0x4ebb50
push eax
call fcn.004a23a0
add esp, 0x18
push eax
mov ecx, edi
mov byte [ebp - 4], 0x7f
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x80
test ecx, ecx
je 0x4420a8
call fcn.004a2a20
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 4], 0x81
test ecx, ecx
je 0x4420e7
call fcn.004a2a20
mov eax, 0x4ebb64
jmp 0x440228
push 0x4ebb24
mov ecx, edi
call fcn.004a2300
mov eax, 0x4ebb64
jmp 0x440228
push 0x4ebb08
mov ecx, edi
call fcn.004a2300
mov eax, 0x4ebb64
jmp 0x440228
movzx eax, word [esi + 0x28]
add ebx, 2
lea ecx, [esi + eax*4]
cmp ebx, 5
ja case.default.0x4426a2
jmp dword [ebx*4 + 0x442b3c]
mov eax, dword [0x52d94c]
mov ecx, edi
push dword [eax + 4]
call fcn.004a2300
mov eax, 0x4eafdc
jmp 0x440228
movzx eax, byte [0x517640]
push eax
push dword [ecx + 0x48]
lea eax, [ebp - 0x24]
push dword [ecx + 0x44]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x82
call fcn.00419ad0
mov dword [ebp - 4], 0x83
jmp 0x44250a
movzx eax, byte [0x517640]
push eax
push 0
push dword [ecx + 0x4c]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x84
call fcn.00419ad0
mov dword [ebp - 4], 0x85
jmp 0x44254f
push 0
push dword [ecx + 0x50]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0x86
call fcn.00419ad0
mov dword [ebp - 4], 0x87
jmp 0x44258c
push 0
push dword [ecx + 0x54]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0x88
call fcn.00419ad0
mov dword [ebp - 4], 0x89
jmp 0x4425c9
movzx eax, word [esi + 0x28]
test ebx, ebx
jne case.default.0x4426a2
push ebx
push dword [esi + eax*4 + 0x44]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0x8a
call fcn.00419ad0
mov dword [ebp - 4], 0x8b
jmp 0x4425c9
movzx eax, word [esi + 0x28]
lea ecx, [esi + eax*4]
sub ebx, 0
je 0x44225d
sub ebx, 1
jne case.default.0x4426a2
push ebx
push dword [ecx + 0x4c]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0x8e
call fcn.00419ad0
mov dword [ebp - 4], 0x8f
jmp 0x4425c9
movzx eax, byte [0x517640]
push eax
push dword [ecx + 0x48]
lea eax, [ebp - 0x24]
push dword [ecx + 0x44]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x8c
call fcn.00419ad0
mov dword [ebp - 4], 0x8d
jmp 0x44250a
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
push eax
movq qword [ebp - 0x1c], xmm0
call fcn.00420640
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], 0x90
test ecx, ecx
je case.default.0x4422c5
cmp ebx, 6
ja case.default.0x4422c5
jmp dword [ebx*4 + 0x442b54]
push dword [ecx + 6]
lea eax, [ebp - 0x24]
push dword [ecx + 2]
push eax
call fcn.00466f10
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x91
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x92
test ecx, ecx
je 0x4422fa
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4ead24
call fcn.0043ff40
mov eax, esi
jmp 0x440228
push dword [ecx + 0xe]
lea eax, [ebp - 0x24]
push dword [ecx + 0xa]
push eax
call fcn.00466f10
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x93
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x94
test ecx, ecx
je 0x44233c
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4ead40
call fcn.0043ff40
mov eax, esi
jmp 0x440228
push dword [ecx + 0x16]
lea eax, [ebp - 0x24]
push dword [ecx + 0x12]
push eax
call fcn.00466f10
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x95
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x96
test ecx, ecx
je 0x44237e
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4ead60
call fcn.0043ff40
mov eax, esi
jmp 0x440228
push dword [ecx + 0x1e]
lea eax, [ebp - 0x24]
push dword [ecx + 0x1a]
push eax
call fcn.00466f10
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x97
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x98
test ecx, ecx
je 0x4423c0
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4ead7c
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx eax, byte [0x517640]
push eax
push dword [ecx + 0x26]
lea eax, [ebp - 0x24]
push dword [ecx + 0x22]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov byte [ebp - 4], 0x99
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x9a
test ecx, ecx
je 0x44240a
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4eade0
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx eax, byte [0x517640]
push eax
push dword [ecx + 0x2e]
lea eax, [ebp - 0x24]
push dword [ecx + 0x2a]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov byte [ebp - 4], 0x9b
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x9c
test ecx, ecx
je 0x442454
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4eae30
call fcn.0043ff40
mov eax, esi
jmp 0x440228
push dword [ecx + 0x32]
lea eax, [ebp - 0x24]
push eax
call fcn.00468660
add esp, 8
push eax
mov ecx, edi
mov byte [ebp - 4], 0x9d
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x9e
test ecx, ecx
je 0x442493
call fcn.004a2a20
lea ecx, [ebp - 0x1c]
mov esi, 0x4ead94
call fcn.0043ff40
mov eax, esi
jmp 0x440228
movzx eax, word [esi + 0x28]
add ebx, 2
lea ecx, [esi + eax*4]
cmp ebx, 5
ja case.default.0x4426a2
jmp dword [ebx*4 + 0x442b70]
mov eax, dword [0x52d94c]
mov ecx, edi
push dword [eax + 8]
call fcn.004a2300
mov eax, 0x4eafdc
jmp 0x440228
movzx eax, byte [0x517640]
push eax
push dword [ecx + 0x48]
lea eax, [ebp - 0x24]
push dword [ecx + 0x44]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0x9f
call fcn.00419ad0
mov dword [ebp - 4], 0xa0
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x442516
call fcn.004a2a20
mov eax, 0x4eb974
jmp 0x440228
movzx eax, byte [0x517640]
push eax
push 0
push dword [ecx + 0x4c]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0xa1
call fcn.00419ad0
mov dword [ebp - 4], 0xa2
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x44255b
call fcn.004a2a20
mov eax, 0x4e6328
jmp 0x440228
push 0
push dword [ecx + 0x50]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xa3
call fcn.00419ad0
mov dword [ebp - 4], 0xa4
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x442598
call fcn.004a2a20
mov eax, 0x4ebcb0
jmp 0x440228
push 0
push dword [ecx + 0x54]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xa5
call fcn.00419ad0
mov dword [ebp - 4], 0xa6
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x4425d5
call fcn.004a2a20
mov eax, 0x4ebcb8
jmp 0x440228
test ebx, ebx
jne case.default.0x4426a2
mov bl, byte [0x517640]
mov ecx, esi
call fcn.00442bb0
push ebx
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x24]
push eax
call fcn.0046ab10
add esp, 0x10
push eax
mov ecx, edi
mov dword [ebp - 4], 0xa7
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xa8
test ecx, ecx
je 0x442628
call fcn.004a2a20
mov eax, 0x4ebcc0
jmp 0x440228
push edi
push 0x4e7830
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004433f0
test al, al
je case.default.0x4426a2
mov eax, 0x4e54c8
jmp 0x440228
cmp ebx, 0xfffffffe
jne case.default.0x4426a2
mov eax, dword [0x52d94c]
mov ecx, edi
push dword [eax + 0xc]
call fcn.004a2300
mov eax, 0x4eafdc
jmp 0x440228
cmp ebx, 0xfffffffe
jne case.default.0x4426a2
mov eax, dword [0x52d94c]
mov ecx, edi
push dword [eax + 0x10]
call fcn.004a2300
mov eax, 0x4eafdc
jmp 0x440228
cmp ebx, 8
ja case.default.0x4426a2
jmp dword [ebx*4 + 0x442b88]
movzx eax, word [esi + 0x28]
movzx eax, byte [esi + eax*4 + 0x34]
cdq
push edx
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xa9
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xaa
test ecx, ecx
je 0x4426e3
call fcn.004a2a20
mov eax, 0x4ebcdc
jmp 0x440228
movzx eax, word [esi + 0x28]
push 0
push dword [esi + eax*4 + 0x3c]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xab
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xac
test ecx, ecx
je 0x442725
call fcn.004a2a20
mov eax, 0x4ebcf0
jmp 0x440228
movzx eax, word [esi + 0x28]
push 0
push dword [esi + eax*4 + 0x40]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xad
call fcn.00419ad0
mov dword [ebp - 4], 0xae
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x442767
call fcn.004a2a20
mov eax, 0x4e53a4
jmp 0x440228
movzx eax, word [esi + 0x28]
push 0
push dword [esi + eax*4 + 0x44]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xaf
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xb0
test ecx, ecx
je 0x4427a9
call fcn.004a2a20
mov eax, 0x4ebd04
jmp 0x440228
movzx eax, word [esi + 0x28]
push 0
push dword [esi + eax*4 + 0x48]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xb1
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xb2
test ecx, ecx
je 0x4427eb
call fcn.004a2a20
mov eax, 0x4ebd10
jmp 0x440228
movzx eax, word [esi + 0x28]
push 0
push dword [esi + eax*4 + 0x4c]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xb3
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xb4
test ecx, ecx
je 0x44282d
call fcn.004a2a20
mov eax, 0x4ebd1c
jmp 0x440228
movzx eax, word [esi + 0x28]
push 0
push dword [esi + eax*4 + 0x50]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xb5
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xb6
test ecx, ecx
je 0x44286f
call fcn.004a2a20
mov eax, 0x4ebd28
jmp 0x440228
movzx eax, word [esi + 0x28]
push 0
push dword [esi + eax*4 + 0x54]
lea eax, [ebp - 0x24]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xb7
call fcn.00419ad0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xb8
test ecx, ecx
je 0x4428b1
call fcn.004a2a20
mov eax, 0x4ebd34
jmp 0x440228
movzx eax, word [esi + 0x28]
push 0
push dword [esi + eax*4 + 0x58]
lea eax, [ebp - 0x34]
push eax
call fcn.004696e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 0xb9
call fcn.00419ad0
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 4], 0xba
test ecx, ecx
je 0x4428f3
call fcn.004a2a20
mov eax, 0x4ebd40
jmp 0x440228