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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x569d22
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3e0
movzx eax, word [ebp + 0xc]
push ebx
push esi
push edi
push eax
mov esi, ecx
push str._MSG_:__05X__r_n
mov dword [esp + 0x2c], esi
call fcn.00451d70
add esp, 8
cmp eax, 0x21f0
jg 0x4d40d7
je 0x4d3fba
cmp eax, 0x2111
jg 0x4d2479
je 0x4d1bc6
cmp eax, 0x201f
jg 0x4d14b9
je 0x4d1410
cmp eax, 0x1101
je 0x4d110b
cmp eax, 0x2001
jne case.default.0x4d40f6
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne case.default.0x4d40f6
push 0
push 0x5e29d8
push 0x5e1138
push 0
call fcn.004cc880
mov ebx, 0xc8
mov edi, eax
call fcn.00403280
push eax
call fcn.00551f74
add esp, 0x14
test eax, eax
je 0x4d1095
mov esi, eax
call fcn.004fd470
mov ecx, dword [0x884634]
cmp byte [ecx + 0x1ff24], 2
push 1
mov eax, 0x908c10
jne 0x4d10af
push 0x28
jmp 0x4d10b1
push 0x20
call fcn.004ce370
push 1
push 0x1f
mov eax, 0x908c10
call fcn.004ce370
mov ebx, dword [0x8849cc]
test ebx, ebx
je 0x4d10ea
call fcn.00408310
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x900388
call fcn.004065e0
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0x28
mov eax, 0x908c10
call fcn.004ce370
push 1
push 0x1f
mov eax, 0x908c10
call fcn.004ce370
mov edi, dword [ebp + 0x10]
cmp word [edi], 0
jne case.default.0x4d40f6
push str.Recv_NS_GRANDPRIXACTIVE__0x2103__n
call fcn.00451d70
mov bx, word [edi + 2]
add edi, 2
add esp, 4
add edi, 2
test bx, bx
jbe 0x4d1200
movzx eax, bx
lea edx, [eax + eax*2]
shl edx, 3
push edx
call fcn.005493e8
add esp, 4
test bx, bx
mov dword [esi + 0x298], eax
jbe 0x4d1200
movzx ecx, bx
xor eax, eax
mov dword [esp + 0x1c], ecx
mov edi, edi
mov ecx, dword [edi]
mov edx, dword [esi + 0x298]
mov dword [eax + edx], ecx
mov edx, dword [esi + 0x298]
mov ecx, dword [edi + 4]
add edi, 4
mov dword [eax + edx + 4], ecx
mov edx, dword [esi + 0x298]
lea ecx, [eax + edx + 4]
mov edx, dword [ecx]
test edx, edx
je 0x4d11af
neg edx
mov dword [ecx], edx
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x298]
mov dword [eax + ecx + 8], edx
mov ecx, dword [esi + 0x298]
add edi, 4
mov edx, dword [edi + 4]
add edi, 4
mov dword [eax + ecx + 0xc], edx
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x298]
add edi, 4
mov dword [eax + ecx + 0x10], edx
mov ecx, dword [esi + 0x298]
mov edx, dword [edi + 4]
add edi, 4
mov dword [eax + ecx + 0x14], edx
mov ecx, dword [esp + 0x1c]
add edi, 4
add eax, 0x18
dec ecx
mov dword [esp + 0x1c], ecx
jne 0x4d1180
mov word [esi + 0x27a], bx
xor ebx, ebx
mov bx, word [edi]
add edi, 2
test bx, bx
mov dword [esp + 0x18], ebx
jbe 0x4d131c
movzx eax, bx
lea eax, [eax + eax*4]
shl eax, 3
push eax
call fcn.005493e8
add esp, 4
test bx, bx
mov dword [esi + 0x2c4], eax
jbe 0x4d131c
movzx ecx, bx
xor eax, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x2c4]
add ecx, eax
xor edx, edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], edx
add ecx, 0x18
xor ebx, ebx
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov byte [ecx + 0xc], bl
mov ebx, dword [edi]
mov ecx, dword [esi + 0x2c4]
mov dword [eax + ecx], ebx
mov ecx, dword [esi + 0x2c4]
mov ebx, dword [edi + 4]
add edi, 4
mov dword [eax + ecx + 4], ebx
mov ecx, dword [esi + 0x2c4]
mov ebx, dword [eax + ecx + 4]
cmp ebx, edx
lea ecx, [eax + ecx + 4]
je 0x4d12a4
mov edx, ebx
neg edx
mov dword [ecx], edx
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x2c4]
mov dword [eax + ecx + 8], edx
mov ecx, dword [esi + 0x2c4]
add edi, 4
mov edx, dword [edi + 4]
mov dword [eax + ecx + 0xc], edx
mov ecx, dword [esi + 0x2c4]
add edi, 4
mov edx, dword [edi + 4]
mov dword [eax + ecx + 0x10], edx
mov ecx, dword [esi + 0x2c4]
add edi, 4
mov edx, dword [edi + 4]
mov dword [eax + ecx + 0x14], edx
mov ecx, dword [esi + 0x2c4]
add edi, 4
lea edx, [eax + ecx + 0x18]
add edi, 4
mov ecx, edi
mov ebx, dword [ecx]
mov dword [edx], ebx
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x1c]
add edi, 0xc
add eax, 0x28
dec ecx
mov dword [esp + 0x1c], ecx
jne 0x4d1246
mov ebx, dword [esp + 0x18]
mov word [esi + 0x27c], bx
mov al, byte [edi]
inc edi
test al, al
je 0x4d1379
mov edx, dword [edi]
add edi, 4
mov dword [esi + 0x280], edx
mov eax, dword [edi]
test eax, eax
mov dword [esi + 0x284], eax
je 0x4d1349
neg eax
mov dword [esi + 0x284], eax
mov eax, dword [edi + 4]
add edi, 4
add edi, 4
mov dword [esi + 0x288], eax
mov ecx, dword [edi]
add edi, 4
mov dword [esi + 0x28c], ecx
mov edx, dword [edi]
add edi, 4
mov dword [esi + 0x290], edx
mov eax, dword [edi]
mov dword [esi + 0x294], eax
add edi, 4
mov al, byte [edi]
inc edi
test al, al
je case.default.0x4d40f6
lea ebx, [esi + 0x29c]
mov eax, ebx
call fcn.004d0f10
mov ecx, dword [edi]
add edi, 4
mov dword [ebx], ecx
mov eax, dword [edi]
test eax, eax
mov dword [esi + 0x2a0], eax
je 0x4d13ac
neg eax
mov dword [esi + 0x2a0], eax
mov edx, dword [edi + 4]
mov dword [esi + 0x2a4], edx
add edi, 4
mov eax, dword [edi + 4]
mov dword [esi + 0x2a8], eax
mov eax, dword [0x884634]
add edi, 4
mov ecx, dword [edi + 4]
add edi, 4
mov dword [esi + 0x2ac], ecx
mov edx, dword [edi + 4]
mov dword [esi + 0x2b0], edx
add eax, 0x19ec1
mov ecx, dword [eax]
add esi, 0x2b4
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [ebp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [0x884634]
imul ecx, ecx, 0xd
lea ecx, [ecx + eax + 0x2002d]
push eax
call fcn.0042bd60
cmp eax, 0xffffffff
jne case.default.0x4d40f6
push 0
push 0x5e2a6c
push 0x5e1138
push 0
call fcn.004cc880
mov ebx, 0x1f
mov edi, eax
call fcn.00403280
push eax
call fcn.00551f74
movzx ecx, byte [esi]
mov edx, dword [0x884634]
add esp, 0x14
push 0
push 0
add esi, 0xe
push esi
mov edi, eax
movzx eax, byte [esi - 1]
mov esi, ecx
imul esi, esi, 0xd
lea esi, [esi + edx + 0x2002d]
push esi
lea esi, [edx + ecx*8]
lea ecx, [ecx + esi + 0x22530]
push ecx
push 0
push edx
call fcn.004215c0
test edi, edi
je case.default.0x4d40f6
mov eax, edi
call fcn.00504570
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
sub eax, 0x2103
je 0x4d1865
sub eax, 2
jne case.default.0x4d40f6
mov edx, dword [0x884634]
cmp byte [edx + 0x1ff24], 2
push 1
mov eax, 0x908c10
jne 0x4d14e7
push 0x28
jmp 0x4d14e9
push 0x20
call fcn.004ce370
push 1
push 0x1f
mov eax, 0x908c10
call fcn.004ce370
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne 0x4d1844
mov cl, byte [eax + 2]
mov edx, dword [esp + 0x24]
mov edi, dword [edx + 0x124]
mov ebx, dword [0x884634]
movzx ecx, cl
add eax, 2
mov dword [esp + 0x18], ecx
shl edi, 7
lea edi, [edi + ebx + 0x23b7c]
mov ebx, ecx
shr ecx, 2
inc eax
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [edx + 0x124]
mov esi, dword [0x884634]
mov ecx, ebx
shl edi, 7
add edi, ecx
add eax, ecx
mov byte [edi + esi + 0x23b7c], 0
mov ecx, dword [edx + 0x124]
shl ecx, 7
lea edi, [ecx + esi + 0x23b7c]
lea ecx, [edx + 0x12c]
mov bl, byte [edi]
inc edi
mov byte [ecx], bl
inc ecx
test bl, bl
jne 0x4d1574
mov cl, byte [eax]
mov edi, dword [edx + 0x124]
mov byte [edx + 0x1ac], cl
mov byte [esi + edi + 0x23ffc], cl
mov ecx, dword [eax + 1]
mov edi, dword [edx + 0x124]
mov dword [edx + 0x1b0], ecx
mov dword [esi + edi*4 + 0x24008], ecx
mov ecx, dword [edx + 0x124]
inc eax
mov bl, byte [eax + 4]
mov byte [esi + ecx + 0x2402c], bl
mov edi, dword [edx + 0x124]
add eax, 4
mov cl, byte [eax + 1]
inc eax
mov byte [edx + 0x1b4], cl
mov byte [esi + edi + 0x2403e], cl
mov cl, byte [eax + 1]
mov edi, dword [edx + 0x124]
inc eax
mov byte [edx + 0x1b5], cl
mov byte [esi + edi + 0x24047], cl
mov cl, byte [eax + 1]
mov edi, dword [edx + 0x124]
inc eax
mov byte [edx + 0x1b6], cl
mov byte [esi + edi + 0x24050], cl
mov cl, byte [eax + 1]
mov edi, dword [edx + 0x124]
inc eax
mov byte [edx + 0x1b7], cl
mov byte [esi + edi + 0x24059], cl
mov cl, byte [edx + 0x1b4]
xor edi, edi
inc eax
test cl, cl
mov dword [esp + 0x1c], edi
jbe 0x4d1725
lea ecx, [edx + 0x268]
mov dword [esp + 0x28], ecx
lea ebx, [esp + 0x2c]
mov ecx, edx
sub ecx, ebx
add ecx, 0x220
mov dword [esp + 0x18], ecx
mov ecx, edx
lea ebx, [esp + 0x38]
sub ecx, ebx
add ecx, 0x1b8
mov byte [esp + 0x44], 0
mov byte [esp + 0x34], 0
mov dword [esp + 0x20], ecx
mov ecx, eax
mov ebx, dword [ecx]
mov dword [esp + 0x38], ebx
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x40], ecx
mov cl, byte [eax + 0xd]
add eax, 0xd
inc eax
mov byte [edi + esi + 0x24194], cl
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ecx
mov ebx, dword [esp + 0x30]
mov cl, 0x80
shr ebx, 0x18
test cl, bl
je 0x4d16b4
mov ebx, dword [esp + 0x30]
shr ebx, 0x10
test cl, bl
jne 0x4d16b4
mov byte [esp + 0x33], 0
mov cx, word [eax + 8]
mov ebx, dword [esp + 0x20]
add eax, 8
mov word [esp + 0x14], cx
add eax, 8
lea edi, [esp + 0x38]
jmp 0x4d16d0
mov cl, byte [edi]
mov byte [edi + ebx], cl
inc edi
test cl, cl
jne 0x4d16d0
mov ebx, dword [esp + 0x18]
lea edi, [esp + 0x2c]
mov cl, byte [edi]
mov byte [edi + ebx], cl
inc edi
test cl, cl
jne 0x4d16e2
mov ecx, dword [esp + 0x14]
lea edi, [ecx + 5]
mov ecx, dword [esp + 0x28]
mov word [ecx], di
mov edi, dword [esp + 0x1c]
add ecx, 2
mov dword [esp + 0x28], ecx
add dword [esp + 0x20], 0xd
movzx ecx, byte [edx + 0x1b4]
inc edi
add ebx, 9
cmp edi, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ebx
jl 0x4d1666
mov eax, 0x1e
mov dword [esp + 0x6c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], eax
mov eax, 9
push 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov eax, 0x4f
push 0x5e4638
mov edx, 0x118
mov ecx, 0x212
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, 0x95
push 0x5e1138
push 0
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
call fcn.004cc880
mov ebx, 0x25
mov edi, eax
call fcn.00403280
push eax
call fcn.00551f74
add esp, 0x14
test eax, eax
jne case.default.0x4d40f6
push 0x90
call fcn.005493ed
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x3f4], 1
je 0x4d1816
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x124]
mov edx, dword [esp + ecx*4 + 0x48]
push ecx
mov ecx, dword [esp + ecx*4 + 0x70]
add edx, 0x11
push edx
add ecx, 0xa
push ecx
mov esi, eax
call fcn.00520b40
mov esi, eax
jmp 0x4d1818
xor esi, esi
mov dword [esp + 0x3f4], 0xffffffff
call fcn.004cc880
call fcn.00403430
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [esi + 0x124], 0xffffffff
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0x20
mov eax, 0x908c10
call fcn.004ce370
push 1
push 0x1f
mov eax, 0x908c10
call fcn.004ce370
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne 0x4d1b83
push str.Recv_NS_CAHNNEL_GAMELIST__0x2103__n
call fcn.00451d70
mov cl, byte [eax + 2]
mov edx, dword [0x884634]
add eax, 2
add esp, 4
add eax, 2
test cl, cl
mov byte [edx + 0x23b30], cl
je 0x4d18c0
mov ecx, dword [esi + 0x11c]
mov dword [esi + 0x118], ecx
xor ecx, ecx
lea ebx, [edx + 0x23b34]
mov edi, ebx
mov dword [edi], ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], ecx
mov cl, byte [edx + 0x23b30]
xor edi, edi
test cl, cl
mov dword [esp + 0x28], edi
jbe 0x4d1a27
lea ecx, [edx + 0x23b9a]
mov dword [esp + 0x20], ecx
mov ecx, 0xfffdc466
sub ecx, edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ecx
cmp edi, 9
jge 0x4d1a27
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x24], ecx
movzx ecx, byte [eax]
inc eax
test ecx, ecx
mov dword [esp + 0x18], ecx
je 0x4d19fe
cmp ecx, 0x32
jle 0x4d1941
mov ecx, 0x32
mov dword [esp + 0x18], ecx
cmp ecx, 0x1e
mov dword [ebx], 1
jg 0x4d1954
test ecx, ecx
jge 0x4d1959
xor ecx, ecx
jmp 0x4d1959
mov ecx, 0x1e
mov edi, dword [esp + 0x20]
add edi, 0xffffffe2
mov ebx, ecx
shr ecx, 2
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
xor bl, bl
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, esi
lea edi, [esi + ecx]
mov ecx, dword [esp + 0x20]
add edi, ecx
mov byte [edi + edx + 0x23b7c], bl
mov edi, dword [esp + 0x28]
mov byte [ecx], bl
mov byte [ecx + 1], bl
mov bl, byte [eax]
mov byte [edi + edx + 0x23ffc], bl
mov esi, dword [eax + 1]
mov ebx, dword [esp + 0x1c]
mov dword [ebx + 0x4d4], esi
mov esi, dword [esp + 0x24]
inc eax
mov bl, byte [eax + 4]
add eax, 4
inc eax
mov byte [edi + edx + 0x2402c], bl
mov bl, byte [eax]
inc eax
mov byte [edi + edx + 0x24035], bl
mov bl, byte [eax]
inc eax
mov byte [edi + edx + 0x2403e], bl
mov bl, byte [eax]
inc eax
mov byte [edi + edx + 0x24047], bl
mov bl, byte [eax]
inc eax
mov byte [edi + edx + 0x24050], bl
mov bl, byte [eax]
mov byte [edi + edx + 0x24059], bl
mov ebx, dword [esp + 0x1c]
inc eax
mov byte [edi + edx + 0x24062], 0
jmp 0x4d1a02
mov ecx, dword [esp + 0x20]
add ecx, 0x80
mov dword [esp + 0x20], ecx
movzx ecx, byte [edx + 0x23b30]
inc edi
add ebx, 4
cmp edi, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], ebx
jl 0x4d1911
push 0
push 0x5e2a6c
push 0x5e1138
push 0
call fcn.004cc880
mov ebx, 0x1f
mov edi, eax
call fcn.00403280
push eax
call fcn.00551f74
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4d1a7d
mov edx, dword [0x884634]
mov al, byte [edx + 0x23b30]
xor ebx, ebx
test al, al
jbe 0x4d1a7d
call fcn.00504540
mov eax, dword [0x884634]
movzx ecx, byte [eax + 0x23b30]
inc ebx
cmp ebx, ecx
jl 0x4d1a67
mov edx, dword [0x884634]
mov ebx, dword [edx + 0x1a724]
call fcn.004cc430
mov edi, eax
lea eax, [edi + 0x34]
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [edi + 0x30]
test al, al
je 0x4d1ab2
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4d1ade
mov eax, dword [edi + 0x2c]
mov edx, dword [edi + 0x24]
mov edi, dword [edi + 0x1c]
xor eax, ebx
mov ecx, eax
shr ecx, 3
mov ebx, dword [edx + ecx*4]
mov edx, dword [edi + eax*4]
mov eax, dword [esp + 0x18]
push eax
xor ebx, edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp bl, 1
jne case.default.0x4d40f6
mov ecx, dword [0x884634]
mov ax, word [ecx + 0x1a72c]
cmp ax, 0xffff
je case.default.0x4d40f6
movsx eax, ax
cdq
mov edi, 9
idiv edi
mov dword [esi + 8], edx
mov eax, dword [ecx + edx*4 + 0x23b34]
test eax, eax
je 0x4d1b5f
mov al, byte [edx + ecx + 0x24050]
test al, al
jne 0x4d1b5f
mov al, byte [edx + ecx + 0x2403e]
cmp al, byte [edx + ecx + 0x24047]
je 0x4d1b5f
mov al, byte [edx + ecx + 0x24059]
test al, al
je 0x4d1b41
lea edi, [ecx + 0x1a720]
xor al, al
call fcn.00417d50
mov edi, esi
call fcn.004d5670
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea edi, [ecx + 0x1a720]
xor al, al
call fcn.00417d50
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [0x884634]
add ecx, 0x1a720
call fcn.00417de0
test al, al
je case.default.0x4d40f6
mov edi, dword [0x884634]
add edi, 0x1a720
xor al, al
call fcn.00417d50
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
xor ecx, ecx
cmp word [eax], cx
jne 0x4d23f3
push ecx
push 0x5e2a6c
push 0x5e1138
push ecx
call fcn.004cc880
mov ebx, 0x1f
mov edi, eax
call fcn.00403280
push eax
call fcn.00551f74
add esp, 0x14
mov eax, 0x906fa8
mov byte [esi + 0x11], 0
call fcn.004528c0
mov edx, dword [0x884634]
call fcn.004214e0
lea eax, [edx + 0x25ff4]
call fcn.00419f60
mov ebx, dword [ebp + 0x10]
lea eax, [edx + 0x2449a]
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
movzx eax, byte [ebx + 2]
add ebx, 2
lea edi, [edx + 0x1a640]
call fcn.00417b10
mov edi, dword [0x884634]
movzx eax, byte [ebx + 1]
inc ebx
add edi, 0x1a634
call fcn.00417b10
mov ecx, dword [0x884634]
inc ebx
add ecx, 0x1a634
mov dword [ebp + 0x10], ebx
call fcn.0042dd80
mov ebx, eax
mov eax, 0x906fa8
call fcn.00452860
mov edx, dword [ebp + 0x10]
movzx ecx, word [edx]
mov eax, dword [0x884634]
mov dword [eax + 0x2419c], ecx
xor ecx, ecx
mov word [esi + 0x114], cx
mov dword [esi + 0x11c], ecx
mov byte [esi + 0x113], 2
mov cl, byte [edx + 2]
movzx ebx, cl
add edx, 2
inc edx
mov dword [ebp + 0x10], edx
mov esi, edx
mov ecx, ebx
mov edx, ecx
shr ecx, 2
lea edi, [eax + 0x241a0]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0x10]
mov byte [ebx + eax + 0x241a0], 0
mov cl, byte [esi + ebx]
add esi, ebx
mov byte [eax + 0x24234], cl
inc esi
lea edi, [eax + 0x24238]
mov eax, dword [esi]
mov dword [esp + 0x24], ebx
call fcn.00417b10
mov edx, dword [esi + 4]
mov eax, dword [0x884634]
add esi, 4
mov dword [eax + 0x2426d], edx
mov ecx, dword [esi + 4]
add esi, 8
mov dword [eax + 0x24271], ecx
mov dl, byte [esi]
mov byte [eax + 0x24244], dl
mov cl, byte [esi + 1]
inc esi
inc esi
push str.Join_ROOM___n
mov byte [eax + 0x24245], cl
mov dword [ebp + 0x10], esi
call fcn.00451d70
mov cl, byte [eax + 0x24245]
add esp, 4
test cl, cl
mov dword [esp + 0x28], 0
jbe 0x4d2159
mov ebx, dword [0x884634]
mov al, byte [esi]
mov edi, dword [ebx + 0x26014]
add ebx, 0x25ff4
inc esi
inc edi
push str.Insert_Slot
mov dword [ebx + 0x20], edi
call fcn.00451d70
movzx edi, al
add esp, 4
push edi
mov dword [esp + 0x20], edi
call fcn.00419ff0
mov eax, dword [0x884634]
lea ecx, [edi + edi*4]
shl ecx, 2
mov dword [esp + 0x14], ecx
lea edx, [ecx + eax + 0x242bd]
mov ecx, esi
mov ebx, dword [ecx]
mov dword [edx], ebx
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
mov edx, dword [esp + 0x14]
mov byte [edx + eax + 0x242c9], 0
mov cl, byte [esi + 0xc]
add esi, 0xc
test cl, cl
mov ecx, dword [esi + 1]
sete byte [esp + 0x10]
inc esi
mov dword [eax + edi*4 + 0x24360], ecx
mov dx, word [esi + 4]
add esi, 4
mov word [eax + edi*2 + 0x243a0], dx
mov ecx, dword [esi + 2]
add esi, 2
mov dword [eax + edi*4 + 0x24380], ecx
mov dx, word [esi + 4]
add esi, 4
mov word [eax + edi*2 + 0x243b0], dx
mov cl, byte [esi + 2]
add esi, 2
mov byte [eax + edi*2 + 0x24482], cl
mov dl, byte [esi + 1]
inc esi
mov byte [eax + edi*2 + 0x24483], dl
mov cl, byte [esi + 1]
inc esi
mov byte [edi + eax + 0x24492], cl
mov edx, dword [eax + 0x1a638]
inc esi
mov dword [esp + 0x14], edx
call fcn.004cc430
mov ebx, eax
lea eax, [ebx + 0x34]
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [ebx + 0x30]
test al, al
je 0x4d1e41
mov eax, dword [esp + 0x18]
mov ebx, 1
push eax
jmp 0x4d1e68
mov eax, dword [ebx + 0x2c]
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x24]
mov ebx, dword [ebx + 0x1c]
xor eax, ecx
mov ecx, eax
shr ecx, 3
mov dword [esp + 0x14], ebx
mov ebx, dword [edx + ecx*4]
mov ecx, dword [esp + 0x14]
xor ebx, dword [ecx + eax*4]
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp edi, ebx
mov eax, dword [0x884634]
jne 0x4d1e84
mov cl, byte [edi + eax + 0x24492]
mov byte [eax + 0x1a63c], cl
mov dl, byte [esi]
mov byte [edi + eax + 0x2449a], dl
mov edx, dword [esi + 1]
inc esi
lea ecx, [eax + edi*8]
add ecx, edi
mov dword [ecx + 0x24275], edx
mov edx, dword [esi + 4]
mov dword [ecx + 0x24279], edx
mov bl, byte [ecx + 0x2427c]
mov dl, 0x80
test dl, bl
je 0x4d1ec0
test byte [ecx + 0x2427b], dl
jne 0x4d1ec0
mov byte [ecx + 0x2427c], 0
mov byte [ecx + 0x2427d], 0
mov cx, word [esi + 8]
add esi, 8
add cx, 5
add esi, 2
mov word [eax + edi*2 + 0x244a2], cx
mov dx, word [esi]
add dx, 5
add esi, 2
mov word [eax + edi*2 + 0x244b2], dx
mov cx, word [esi]
add cx, 5
add esi, 2
mov word [eax + edi*2 + 0x244d2], cx
mov dx, word [esi]
add esi, 2
mov word [eax + edi*2 + 0x244c2], dx
movzx ecx, word [esi]
add esi, 2
lea edx, [edi*4 + 0x121e0]
mov dword [esp + 0x14], ecx
mov dword [ebp + 0x10], esi
xor ecx, ecx
mov dword [esp + 0x20], edx
lea esp, [esp]
cmp ecx, 3
jne 0x4d1f3e
mov word [eax + edx*2 + 6], 0x8000
jmp 0x4d1f56
mov bl, byte [esp + 0x10]
neg bl
sbb ebx, ebx
and ebx, 0x8000
add edx, ecx
mov word [eax + edx*2], bx
mov edx, dword [esp + 0x20]
lea ebx, [ecx + edi*4 + 0x9100]
inc ecx
cmp ecx, 4
mov dword [eax + ebx*4], 0
jl 0x4d1f30
mov ecx, dword [esp + 0x14]
test ecx, ecx
jle 0x4d208a
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
mov edi, edi
mov ebx, dword [esi]
cmp ebx, 0x31999
jle 0x4d2036
cmp ebx, 0x34000
jge 0x4d2036
lea ecx, [esp + 0x90]
call fcn.00412690
mov dword [esp + 0x3f4], 2
mov eax, dword [0x884634]
push ebx
push eax
mov al, 1
lea edi, [esp + 0x98]
call fcn.004292f0
movzx eax, byte [esp + 0x99]
dec eax
je 0x4d1ff3
dec eax
jne 0x4d2010
mov ecx, dword [esp + 0x1c]
mov eax, dword [0x884634]
mov edx, ecx
shl edx, 4
mov dword [edx + eax + 0x24408], ebx
mov byte [ecx + eax + 0x25f8c], 1
jmp 0x4d2010
mov ecx, dword [esp + 0x1c]
mov eax, dword [0x884634]
mov edx, ecx
shl edx, 4
mov dword [edx + eax + 0x24404], ebx
mov byte [ecx + eax + 0x25f84], 1
lea ecx, [esp + 0x90]
mov dword [esp + 0x3f4], 0xffffffff
call fcn.00412c00
mov eax, dword [0x884634]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
jmp 0x4d2075
mov ecx, ebx
sar ecx, 0x10
and cl, 0xf
and ebx, 0x7fff
cmp cl, 3
mov dword [esp + 0x14], ebx
jne 0x4d205a
or ebx, 0x8000
mov word [eax + edx*2 + 6], bx
jmp 0x4d2075
mov bl, byte [esp + 0x10]
neg bl
movzx ecx, cl
sbb ebx, ebx
and ebx, 0x8000
or ebx, dword [esp + 0x14]
add ecx, edx
mov word [eax + ecx*2], bx
mov ecx, dword [esp + 0x18]
add esi, 4
dec ecx
mov dword [esp + 0x18], ecx
jne 0x4d1f80
mov dword [ebp + 0x10], esi
mov cl, byte [esi]
lea esi, [eax + edi*8 + 0x25f44]
test byte [0x90900c], 1
mov byte [esp + 0x10], cl
jne 0x4d20d4
or dword [0x90900c], 1
push 0x908fc0
mov dword [esp + 0x3f8], 3
call fcn.004cc0a0
push 0x56dcc0
call fcn.00550a75
add esp, 4
mov dword [esp + 0x3f4], 0xffffffff
mov eax, dword [esi + 4]
push 1
lea edx, [esp + 0x14]
push edx
push eax
mov esi, 0x908fc0
call fcn.0040ae50
call fcn.0055244c
cdq
mov ecx, 6
idiv ecx
mov ecx, dword [0x884634]
inc dword [ebp + 0x10]
mov eax, dword [ecx + edi*4 + 0x24380]
mov esi, edi
mov dword [ecx + edi*4 + 0x25f94], edx
xor edx, edx
mov dx, word [ecx + edi*2 + 0x243b0]
push edx
push eax
mov ax, word [ecx + edi*2 + 0x243a0]
mov ecx, dword [ecx + edi*4 + 0x24360]
mov edx, 0x906fa8
call fcn.00452980
mov ecx, dword [0x884634]
mov eax, dword [esp + 0x28]
movzx edx, byte [ecx + 0x24245]
mov esi, dword [ebp + 0x10]
inc eax
cmp eax, edx
mov dword [esp + 0x28], eax
jl 0x4d1d41
mov ebx, dword [esp + 0x24]
mov eax, dword [0x884634]
mov ecx, dword [eax + 0x1a638]
mov dword [esp + 0x14], ecx
call fcn.004cc430
mov edi, eax
lea eax, [edi + 0x34]
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [edi + 0x30]
test al, al
je 0x4d2193
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], 1
push edx
jmp 0x4d21b8
mov eax, dword [edi + 0x2c]
mov ecx, dword [esp + 0x14]
mov edx, dword [edi + 0x24]
mov edi, dword [edi + 0x1c]
xor eax, ecx
mov ecx, eax
shr ecx, 3
mov ecx, dword [edx + ecx*4]
mov edx, dword [edi + eax*4]
mov eax, dword [esp + 0x18]
xor ecx, edx
mov dword [esp + 0x38], ecx
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x38]
mov ecx, dword [0x906fbc]
mov byte [0x907ec1], al
mov dword [0x9077dc], eax
xor eax, eax
mov ax, word [ecx + 4]
push 1
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov edi, 0x906fa8
push eax
mov eax, dword [esp + 0x40]
push 0x100007f
call fcn.00453850
mov edx, dword [0x884634]
mov ax, word [edx + 0x2419c]
mov cx, word [edx + 0x1e5c4]
movzx edi, ax
push edi
movzx edi, cx
push edi
push str.Set_Key_with__d___d_n
call fcn.00451d70
mov word [0x5e16c8], cx
mov word [0x5e16d0], ax
mov word [0x5e16d8], cx
mov word [0x5e16e0], ax
push 9
mov byte [edx + 0x24260], 0
call fcn.00413c50
mov eax, dword [0x8849cc]
mov edx, dword [0x884634]
add esp, 0x10
test eax, eax
mov dword [edx + 0x1ff28], 0xffffffff
je 0x4d226c
mov ebx, eax
call fcn.00408310
mov ebx, dword [esp + 0x24]
jmp 0x4d2276
push 0x900388
call fcn.004065e0
mov eax, dword [0x884634]
mov ecx, dword [eax + 0x1a724]
mov dword [esp + 0x14], ecx
call fcn.004cc430
mov edi, eax
lea eax, [edi + 0x34]
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [edi + 0x30]
test al, al
je 0x4d22ae
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4d22e1
mov eax, dword [edi + 0x2c]
mov ecx, dword [esp + 0x14]
mov edx, dword [edi + 0x24]
mov edi, dword [edi + 0x1c]
xor eax, ecx
mov ecx, eax
shr ecx, 3
mov ecx, dword [edx + ecx*4]
mov edx, dword [edi + eax*4]
mov eax, dword [esp + 0x18]
xor ecx, edx
push eax
mov dword [esp + 0x18], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, byte [esp + 0x14]
test al, al
je 0x4d2309
mov edx, dword [0x884634]
mov eax, dword [edx + 0x1a724]
push 1
lea ecx, [esp + 0x14]
push ecx
push eax
mov byte [esp + 0x1c], 0
call fcn.004cc430
mov esi, eax
call fcn.0040ae50
mov esi, dword [ebp + 0x10]
mov ecx, dword [0x884634]
movzx edx, byte [ecx + 0x24245]
imul edx, edx, 0x31
mov eax, 0xffffffea
sub eax, edx
mov edx, dword [ebp + 8]
sub eax, ebx
add edx, eax
xor eax, eax
mov byte [esp + 0x90], 0
mov ecx, 0x3f
lea edi, [esp + 0x91]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
xor ebx, ebx
test edx, edx
mov dword [ebp + 8], edx
jle 0x4d23ab
lea ecx, [ecx]
mov cl, byte [ebx + esi]
cmp cl, 0xa
jne 0x4d239b
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4d2362
push 1
push 0
lea ecx, [esp + 0x98]
push ecx
push 0
push 0
sub eax, edx
mov edx, dword [0x884634]
push 2
push edx
call fcn.004215c0
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x90]
rep stosd dword es:[edi], eax
jmp 0x4d23a3
mov byte [esp + eax + 0x90], cl
inc eax
mov ecx, dword [ebp + 8]
inc ebx
cmp ebx, ecx
jl 0x4d2350
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4d23b5
push 1
push 0
lea ecx, [esp + 0x98]
push ecx
push 0
push 0
sub eax, edx
mov edx, dword [0x884634]
push 2
push edx
call fcn.004215c0
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov byte [esi + 0x11], cl
cmp word [eax], 0x1d
mov eax, dword [0x884634]
jne 0x4d2412
mov edx, dword [esi + 8]
mov dword [eax + edx*4 + 0x23b34], ecx
mov dword [esi + 8], 0xffffffff
lea ecx, [eax + 0x1a720]
call fcn.00417de0
test al, al
je 0x4d2434
mov edi, dword [0x884634]
add edi, 0x1a720
xor al, al
call fcn.00417d50
mov eax, dword [0x884634]
cmp byte [eax + 0x1ff24], 2
mov eax, 0x908c10
push 1
jne 0x4d244d
push 0x28
jmp 0x4d244f
push 0x20
call fcn.004ce370
push 1
push 0x1f
mov eax, 0x908c10
call fcn.004ce370
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
sub eax, 0x2121
cmp eax, 0x12
ja case.default.0x4d40f6
movzx ecx, byte [eax + 0x4d43a0]
jmp dword [ecx*4 + 0x4d438c]
mov edx, dword [ebp + 0x10]
cmp byte [edx], 0
je case.default.0x4d40f6
push 0
push 0xc3500
push 0x8872dc
call fcn.00447150
mov esi, eax
call fcn.00414270
jmp 0x4d436f
push 0
push 0x5e2a6c
push 0x5e1138
push 0
call fcn.004cc880
mov ebx, 0x1f
mov edi, eax
call fcn.00403280
push eax
call fcn.00551f74
add esp, 0x14
test eax, eax
mov dword [esp + 0x14], eax
je case.default.0x4d40f6
push 0
push 0x5e29d8
push 0x5e1138
push 0
call fcn.004cc880
mov ebx, 0xc8
mov edi, eax
call fcn.00403280
push eax
call fcn.00551f74
add esp, 0x14
test eax, eax
je 0x4d2529
mov esi, eax
call fcn.004fd470
mov esi, dword [esp + 0x24]
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne 0x4d2e33
mov ecx, dword [0x884634]
mov byte [ecx + 0x240d4], 1
call fcn.004d5750
mov eax, dword [0x884634]
add eax, 0x25ff4
call fcn.00419f60
mov eax, 0x906fa8
call fcn.004528c0
mov ecx, dword [0x884634]
mov ebx, dword [ebp + 0x10]
mov byte [ecx + 0x1a63c], 0
movzx eax, byte [ebx + 2]
add ebx, 2
lea edi, [ecx + 0x1a640]
call fcn.00417b10
mov edi, dword [0x884634]
movzx eax, byte [ebx]
add edi, 0x1a634
call fcn.00417b10
mov ecx, dword [0x884634]
inc ebx
add ecx, 0x1a634
mov dword [ebp + 0x10], ebx
call fcn.0042dd80
mov ebx, eax
mov eax, 0x906fa8
call fcn.00452860
mov eax, dword [0x884634]
lea ecx, [eax + 0x1a634]
lea ebx, [eax + 0x7767c]
call fcn.0042dd80
mov edx, dword [0x884634]
lea edi, [edx + eax*8 + 0x25f44]
mov ecx, ebx
call fcn.004acc90
mov ecx, dword [0x884634]
add ecx, 0x1a634
call fcn.0042dd80
mov ebx, dword [0x884634]
lea ecx, [ebx + 0x25ff4]
call fcn.00419fb0
mov eax, dword [ebp + 0x10]
movzx ecx, word [eax]
mov dword [ebx + 0x2419c], ecx
xor ecx, ecx
mov word [esi + 0x114], cx
mov dword [esi + 0x11c], ecx
mov byte [esi + 0x113], 2
xor edx, edx
add eax, 2
lea ecx, [ebx + 0x2449a]
mov dword [ecx], edx
mov dword [ecx + 4], edx
mov dl, byte [eax]
inc eax
mov byte [ebx + 0x24244], dl
mov cl, byte [eax]
movzx edx, cl
inc eax
mov esi, eax
mov dword [ebp + 0x10], eax
mov ecx, edx
mov eax, ecx
shr ecx, 2
lea edi, [ebx + 0x241a0]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add eax, edx
mov byte [ebx + 0x24220], 0
mov cl, byte [eax]
mov byte [ebx + 0x24234], cl
mov eax, dword [eax + 1]
lea edi, [ebx + 0x24238]
call fcn.00417b10
mov eax, dword [0x884634]
mov bl, 1
mov byte [eax + 0x24245], bl
or edx, 0xffffffff
lea ecx, [eax + 0x2426d]
mov dword [ecx], edx
mov dword [ecx + 4], edx
lea ecx, [eax + 0x1a634]
lea esi, [eax + 0x19ec1]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [eax + edx*4 + 0x242bd]
lea ecx, [ecx]
mov dl, byte [esi]
inc esi
mov byte [ecx], dl
inc ecx
test dl, dl
jne 0x4d26c0
lea ecx, [eax + 0x1a634]
lea esi, [eax + 0x24480]
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dl, byte [esi]
mov byte [ecx + eax*2 + 0x24482], dl
lea esi, [ecx + 0x24481]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dl, byte [esi]
mov byte [ecx + eax*2 + 0x24483], dl
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov byte [eax + ecx + 0x24492], 0
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov byte [eax + ecx + 0x2449a], bl
lea esi, [ecx + 0x19ea4]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
lea edx, [ecx + eax*8]
lea eax, [eax + edx + 0x24275]
lea esp, [esp]
mov dl, byte [esi]
inc esi
mov byte [eax], dl
inc eax
test dl, dl
jne 0x4d2760
add ecx, 0x19f00
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x24564], esi
lea esi, [ecx + 0x19ed6]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x244a2], dx
lea esi, [ecx + 0x19ed8]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x244b2], dx
add ecx, 0x19ee8
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x24504], esi
add ecx, 0x19ef0
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x24524], esi
add ecx, 0x19ef8
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x24544], esi
lea esi, [ecx + 0x19eda]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x244d2], dx
lea esi, [ecx + 0x19ee4]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x244c2], dx
add ecx, 0x19edc
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x244e4], esi
add ecx, 0x1a5ec
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov word [ecx + eax*8 + 0x243c0], si
add ecx, 0x1a5f4
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov word [ecx + eax*8 + 0x243c2], si
add ecx, 0x1a5fc
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov word [ecx + eax*8 + 0x243c4], si
add ecx, 0x1a604
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov word [ecx + eax*8 + 0x243c6], si
add ecx, 0x1a60c
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, eax
mov eax, dword [0x884634]
add ecx, 0x2440
shl ecx, 4
mov dword [ecx + eax], esi
lea ecx, [eax + 0x1a614]
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov edx, eax
mov eax, dword [0x884634]
shl edx, 4
lea ecx, [eax + 0x1a61c]
mov dword [edx + eax + 0x24404], esi
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, eax
mov eax, dword [0x884634]
shl ecx, 4
mov dword [ecx + eax + 0x24408], esi
lea ecx, [eax + 0x1a624]
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov edx, eax
mov eax, dword [0x884634]
shl edx, 4
lea ecx, [eax + 0x1a634]
mov dword [edx + eax + 0x2440c], esi
call fcn.0042dd80
mov ecx, dword [0x884634]
xor esi, esi
mov dword [ecx + eax*4 + 0x25204], esi
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25224], esi
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25f04], esi
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25f24], esi
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25ec4], esi
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25ee4], esi
mov edi, 0x1a048
mov edi, edi
lea ecx, [edi + ecx - 0xa0]
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov ebx, eax
call fcn.0042dd80
lea eax, [eax + eax*4]
lea ecx, [esi + eax*4]
mov eax, dword [0x884634]
mov dword [eax + ecx*4 + 0x24584], ebx
lea ecx, [edi + eax]
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov ebx, eax
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [esi + edx*4]
mov dword [eax + ecx*4 + 0x24804], ebx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [esi + edx*4]
lea ebx, [eax + ecx*4 + 0x24804]
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [esi + edx*4]
mov ecx, dword [eax + ecx*4 + 0x24584]
add ecx, dword [ebx]
mov dword [esp + 0x14], ecx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [esi + edx*4]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4 + 0x24f84], edx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
mov ecx, dword [0x884634]
lea ebx, [ecx + eax*4 + 0x25204]
add ecx, 0x1a634
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [esi + edx*4]
mov edx, dword [eax + ecx*4 + 0x24584]
add dword [ebx], edx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
mov ecx, dword [0x884634]
lea ebx, [ecx + eax*4 + 0x25224]
add ecx, 0x1a634
call fcn.0042dd80
lea eax, [eax + eax*4]
lea ecx, [esi + eax*4]
mov eax, dword [0x884634]
mov edx, dword [eax + ecx*4 + 0x24804]
add dword [ebx], edx
lea ecx, [edi + eax + 0x280]
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov ebx, eax
call fcn.0042dd80
lea eax, [eax + eax*4]
lea ecx, [esi + eax*4]
mov eax, dword [0x884634]
mov dword [eax + ecx*4 + 0x25244], ebx
lea ecx, [edi + eax + 0x320]
call fcn.0042dd80
mov ebx, eax
mov ecx, dword [0x884634]
add ecx, 0x1a634
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [esi + edx*4]
mov dword [eax + ecx*4 + 0x254c4], ebx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [esi + edx*4]
lea ebx, [eax + ecx*4 + 0x254c4]
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [esi + edx*4]
mov ecx, dword [eax + ecx*4 + 0x25244]
add ecx, dword [ebx]
mov dword [esp + 0x14], ecx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [esi + edx*4]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4 + 0x25c44], edx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
mov ecx, dword [0x884634]
lea ebx, [ecx + eax*4 + 0x25ec4]
add ecx, 0x1a634
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [esi + edx*4]
mov edx, dword [eax + ecx*4 + 0x25244]
add dword [ebx], edx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
mov ecx, dword [0x884634]
lea ebx, [ecx + eax*4 + 0x25ee4]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
lea eax, [eax + eax*4]
lea edx, [esi + eax*4]
mov eax, dword [ecx + edx*4 + 0x254c4]
mov edx, dword [ebx]
add edx, eax
add edi, 8
inc esi
cmp edi, 0x1a0e8
mov dword [ebx], edx
jl 0x4d2ad0
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
lea esi, [ecx + eax*4 + 0x25f04]
add ecx, 0x1a554
call fcn.0042dd80
mov edx, dword [esi]
mov ecx, dword [0x884634]
add edx, eax
add ecx, 0x1a634
mov dword [esi], edx
call fcn.0042dd80
mov ecx, dword [0x884634]
lea esi, [ecx + eax*4 + 0x25f24]
add ecx, 0x1a54c
call fcn.0042dd80
mov ecx, dword [esi]
push 0x257
xor ebx, ebx
push 0x31f
add ecx, eax
push ebx
mov dword [esi], ecx
push ebx
mov ecx, 0x8ffdc0
mov byte [0x8849e5], bl
call fcn.00534930
mov esi, dword [0x884634]
mov ax, word [esi + 0x2419c]
mov cx, word [esi + 0x1e5c4]
call fcn.00452890
mov eax, dword [0x8849cc]
cmp eax, ebx
mov byte [esi + 0x24260], bl
mov dword [esi + 0x1ff28], 0xffffffff
je 0x4d2df4
mov ebx, eax
call fcn.00408310
jmp 0x4d2dfe
push 0x900388
call fcn.004065e0
mov ecx, dword [0x884634]
add ecx, 0x77ac8
call fcn.00417de0
test al, al
jne case.default.0x4d40f6
call fcn.004d58b0
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00504150
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [ebp + 0x10]
mov ax, word [edx]
test ax, ax
jne 0x4d350f
mov eax, 0x906fa8
call fcn.004528c0
mov edx, dword [0x884634]
call fcn.004214e0
lea eax, [edx + 0x25ff4]
call fcn.00419f60
mov ebx, dword [ebp + 0x10]
xor eax, eax
lea ecx, [edx + 0x2449a]
mov dword [ecx], eax
mov dword [ecx + 4], eax
movzx eax, byte [ebx + 2]
add ebx, 2
lea edi, [edx + 0x1a640]
call fcn.00417b10
mov edi, dword [0x884634]
movzx eax, byte [ebx + 1]
inc ebx
add edi, 0x1a634
call fcn.00417b10
mov ecx, dword [0x884634]
inc ebx
add ecx, 0x1a634
mov dword [ebp + 0x10], ebx
call fcn.0042dd80
mov ebx, eax
mov eax, 0x906fa8
call fcn.00452860
mov eax, dword [0x884634]
mov edi, dword [ebp + 0x10]
movzx edx, word [edi]
xor ecx, ecx
mov dword [eax + 0x2419c], edx
mov word [esi + 0x114], cx
mov dword [esi + 0x11c], ecx
mov byte [esi + 0x113], 2
mov cl, byte [edi + 2]
movzx edx, cl
add edi, 2
inc edi
mov dword [ebp + 0x10], edi
mov ecx, edx
mov ebx, ecx
shr ecx, 2
mov esi, edi
lea edi, [eax + 0x241a0]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0x10]
mov byte [eax + 0x24220], 0
mov byte [edx + eax + 0x241a0], 0
mov cl, byte [esi + edx]
add esi, edx
mov byte [eax + 0x24234], cl
lea edi, [eax + 0x24238]
xor eax, eax
mov dword [esp + 0x28], edx
inc esi
call fcn.00417b10
mov edi, dword [0x884634]
mov eax, dword [esi]
add edi, 0x24238
call fcn.00417b10
mov edx, dword [esi + 4]
mov edi, dword [0x884634]
add esi, 4
mov dword [edi + 0x2426d], edx
mov eax, dword [esi + 4]
add esi, 8
mov dword [edi + 0x24271], eax
mov cl, byte [esi]
inc esi
mov byte [edi + 0x24244], cl
mov dl, byte [esi]
push str.Join_ROOM___n
mov byte [edi + 0x24245], dl
inc esi
call fcn.00451d70
add esp, 4
mov al, byte [edi + 0x24245]
test al, al
mov dword [esp + 0x20], 0
jbe 0x4d3345
lea ecx, [ecx]
mov al, byte [esi]
movzx ebx, al
lea ecx, [edi + 0x25ff4]
mov eax, ebx
inc esi
call fcn.00419fb0
mov ecx, esi
mov edx, dword [ecx]
lea eax, [ebx + ebx*4]
shl eax, 2
mov dword [esp + 0x14], eax
lea eax, [eax + edi + 0x242bd]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov edx, dword [esp + 0x14]
mov dword [eax + 8], ecx
add esi, 0xc
mov byte [edx + edi + 0x242c9], 0
mov cl, byte [esi]
mov eax, dword [esi + 1]
test cl, cl
sete byte [esp + 0x10]
inc esi
mov dword [edi + ebx*4 + 0x24360], eax
mov cx, word [esi + 4]
add esi, 4
mov word [edi + ebx*2 + 0x243a0], cx
mov edx, dword [esi + 2]
add esi, 2
mov dword [edi + ebx*4 + 0x24380], edx
mov ax, word [esi + 4]
add esi, 4
mov word [edi + ebx*2 + 0x243b0], ax
mov cl, byte [esi + 2]
add esi, 2
mov byte [edi + ebx*2 + 0x24482], cl
mov dl, byte [esi + 1]
inc esi
mov byte [edi + ebx*2 + 0x24483], dl
mov al, byte [esi + 1]
inc esi
lea ecx, [edi + 0x1a634]
mov byte [ebx + edi + 0x24492], al
inc esi
call fcn.0042dd80
cmp ebx, eax
mov edi, dword [0x884634]
jne 0x4d308a
mov cl, byte [ebx + edi + 0x24492]
mov byte [edi + 0x1a63c], cl
mov dl, byte [esi]
mov byte [ebx + edi + 0x2449a], dl
mov ecx, dword [esi + 1]
inc esi
lea eax, [edi + ebx*8]
add eax, ebx
mov dword [eax + 0x24275], ecx
mov edx, dword [esi + 4]
mov dword [eax + 0x24279], edx
mov dl, byte [eax + 0x2427c]
mov cl, 0x80
test cl, dl
je 0x4d30c6
test byte [eax + 0x2427b], cl
jne 0x4d30c6
mov byte [eax + 0x2427c], 0
add esi, 8
mov byte [eax + 0x2427d], 0
mov ax, word [esi]
add esi, 2
add ax, 5
mov word [edi + ebx*2 + 0x244a2], ax
mov cx, word [esi]
add esi, 2
add cx, 5
mov word [edi + ebx*2 + 0x244b2], cx
mov dx, word [esi]
add esi, 2
add dx, 5
mov word [edi + ebx*2 + 0x244d2], dx
mov ax, word [esi]
add esi, 2
mov word [edi + ebx*2 + 0x244c2], ax
movzx ecx, word [esi]
add esi, 2
mov dword [esp + 0x14], ecx
mov dword [ebp + 0x10], esi
xor eax, eax
cmp eax, 3
jne 0x4d3138
lea ecx, [ebx*4 + 0x121e0]
mov word [edi + ecx*2 + 6], 0x8000
jmp 0x4d3151
mov dl, byte [esp + 0x10]
neg dl
lea ecx, [eax + ebx*4 + 0x121e0]
sbb edx, edx
and edx, 0x8000
mov word [edi + ecx*2], dx
lea edx, [eax + ebx*4 + 0x9100]
inc eax
cmp eax, 4
mov dword [edi + edx*4], 0
jl 0x4d3123
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x4d32b2
mov dword [esp + 0x18], eax
jmp 0x4d3180
mov ecx, dword [esi]
cmp ecx, 0x31999
mov dword [esp + 0x1c], ecx
jle 0x4d3258
cmp ecx, 0x34000
jge 0x4d3258
lea ecx, [esp + 0x90]
call fcn.00412690
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3f4], 0
mov ecx, dword [0x884634]
push eax
push ecx
mov al, 1
lea edi, [esp + 0x98]
call fcn.004292f0
movzx eax, byte [esp + 0x99]
dec eax
je 0x4d320c
dec eax
jne 0x4d3239
mov eax, dword [0x884634]
mov ecx, dword [esp + 0x1c]
mov edx, ebx
shl edx, 4
mov dword [edx + eax + 0x24408], ecx
cmp dword [0x8849a0], 3
mov byte [ebx + eax + 0x25f8c], 1
je 0x4d3239
push ebx
push eax
call fcn.0042d2f0
jmp 0x4d3239
mov eax, dword [0x884634]
mov ecx, dword [esp + 0x1c]
mov edx, ebx
shl edx, 4
mov dword [edx + eax + 0x24404], ecx
cmp dword [0x8849a0], 3
mov byte [ebx + eax + 0x25f84], 1
je 0x4d3239
push ebx
push eax
call fcn.0042d1d0
lea ecx, [esp + 0x90]
mov dword [esp + 0x3f4], 0xffffffff
call fcn.00412c00
mov edi, dword [0x884634]
jmp 0x4d329d
mov eax, ecx
sar eax, 0x10
and al, 0xf
and ecx, 0x7fff
cmp al, 3
jne 0x4d327d
or ecx, 0x8000
lea eax, [ebx*4 + 0x121e0]
mov word [edi + eax*2 + 6], cx
jmp 0x4d329d
mov dl, byte [esp + 0x10]
neg dl
sbb edx, edx
and edx, 0x8000
or edx, ecx
movzx ecx, al
lea eax, [ebx*4 + 0x121e0]
add ecx, eax
mov word [edi + ecx*2], dx
mov eax, dword [esp + 0x18]
add esi, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x4d3180
mov dword [ebp + 0x10], esi
mov ecx, dword [edi + ebx*8 + 0x25f48]
mov dl, byte [esi]
push 1
lea eax, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0x1c], dl
call fcn.004cc430
mov esi, eax
call fcn.0040ae50
call fcn.0055244c
cdq
mov ecx, 6
idiv ecx
mov ecx, dword [0x884634]
mov eax, dword [ecx + ebx*4 + 0x24380]
mov edi, dword [ebp + 0x10]
inc edi
mov esi, ebx
mov dword [ebp + 0x10], edi
mov dword [ecx + ebx*4 + 0x25f94], edx
xor edx, edx
mov dx, word [ecx + ebx*2 + 0x243b0]
push edx
push eax
mov ax, word [ecx + ebx*2 + 0x243a0]
mov ecx, dword [ecx + ebx*4 + 0x24360]
mov edx, 0x906fa8
call fcn.00452980
mov ecx, dword [esp + 0x20]
mov edi, dword [0x884634]
mov esi, dword [ebp + 0x10]
inc ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [edi + 0x24245]
cmp dword [esp + 0x20], ecx
jl 0x4d2fc0
lea ecx, [edi + 0x1a634]
call fcn.0042dd80
mov ebx, eax
mov eax, 0x906fa8
call fcn.00452860
mov edi, dword [0x884634]
mov ax, word [edi + 0x2419c]
mov cx, word [edi + 0x1e5c4]
call fcn.00452890
mov ebx, dword [0x8849cc]
test ebx, ebx
mov byte [edi + 0x24260], 0
mov dword [edi + 0x1ff28], 0xffffffff
je 0x4d3397
call fcn.00408310
jmp 0x4d33a1
push 0x900388
call fcn.004065e0
mov ecx, dword [0x884634]
add ecx, 0x1a720
call fcn.00417de0
test al, al
je 0x4d33c9
mov edi, dword [0x884634]
add edi, 0x1a720
xor al, al
call fcn.00417d50
mov ebx, dword [0x884634]
movzx edx, byte [ebx + 0x24245]
mov edi, dword [esp + 0x28]
imul edx, edx, 0x31
mov eax, 0xffffffea
sub eax, edx
mov edx, dword [ebp + 8]
sub eax, edi
add edx, eax
xor eax, eax
mov byte [esp + 0x90], 0
mov ecx, 0x3f
lea edi, [esp + 0x91]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp + 8], edx
mov ecx, dword [ebp + 8]
stosb byte es:[edi], al
xor edx, edx
xor eax, eax
test ecx, ecx
mov dword [esp + 0x18], edx
jle 0x4d347b
mov cl, byte [edx + esi]
cmp cl, 0xa
jne 0x4d3467
lea eax, [esp + 0x90]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4d3430
push 1
push 0
lea ecx, [esp + 0x98]
push ecx
push 0
push 0
push 2
sub eax, edx
push ebx
call fcn.004215c0
mov edx, dword [esp + 0x18]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x90]
rep stosd dword es:[edi], eax
jmp 0x4d346f
mov byte [esp + eax + 0x90], cl
inc eax
mov ecx, dword [ebp + 8]
inc edx
cmp edx, ecx
mov dword [esp + 0x18], edx
jl 0x4d3418
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4d3485
push 1
push 0
sub eax, edx
lea edx, [esp + 0x98]
push edx
push 0
push 0
push 2
push ebx
call fcn.004215c0
mov byte [ebx + 0x240d4], 1
mov ebx, dword [ebx + 0x77acc]
call fcn.004cc430
mov esi, eax
lea edi, [esi + 0x34]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [esi + 0x30]
test al, al
push edi
je 0x4d34d4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4d34f9
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0x24]
mov esi, dword [esi + 0x1c]
xor eax, ebx
mov ecx, eax
shr ecx, 3
mov ebx, dword [edx + ecx*4]
xor ebx, dword [esi + eax*4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
jne 0x4d34f9
call fcn.004d58b0
mov eax, dword [0x884634]
mov cl, byte [eax + 0x24245]
cmp cl, byte [eax + 0x24244]
jmp 0x4d4366
cmp ax, 0x1d
mov eax, dword [0x884634]
jne 0x4d352f
mov edx, dword [esi + 8]
mov dword [eax + edx*4 + 0x23b34], 0
mov dword [esi + 8], 0xffffffff
lea ecx, [eax + 0x1a720]
jmp 0x4d1b8f
push 0
push 0x5e2a6c
push 0x5e1138
push 0
call fcn.004cc880
mov ebx, 0x1f
mov edi, eax
call fcn.00403280
push eax
call fcn.00551f74
add esp, 0x14
test eax, eax
mov dword [esp + 0x18], eax
je case.default.0x4d40f6
push 0
push 0x5e4618
push 0x5e1138
push 0
call fcn.004cc880
mov ebx, 0x22
mov edi, eax
call fcn.00403280
push eax
call fcn.00551f74
add esp, 0x14
test eax, eax
je case.default.0x4d40f6
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne 0x4d3f6a
call fcn.004d5750
mov eax, dword [0x884634]
add eax, 0x25ff4
call fcn.00419f60
mov eax, 0x906fa8
call fcn.004528c0
mov edx, dword [0x884634]
call fcn.004214e0
mov ebx, dword [ebp + 0x10]
mov byte [edx + 0x1a63c], 0
movzx eax, byte [ebx + 2]
add ebx, 2
lea edi, [edx + 0x1a640]
call fcn.00417b10
mov edi, dword [0x884634]
movzx eax, byte [ebx]
add edi, 0x1a634
call fcn.00417b10
mov ecx, dword [0x884634]
inc ebx
add ecx, 0x1a634
mov dword [ebp + 0x10], ebx
call fcn.0042dd80
mov ebx, eax
mov eax, 0x906fa8
call fcn.00452860
mov eax, dword [0x884634]
lea ecx, [eax + 0x1a634]
lea ebx, [eax + 0x7767c]
call fcn.0042dd80
mov ecx, dword [0x884634]
lea edi, [ecx + eax*8 + 0x25f44]
mov ecx, ebx
call fcn.004acc90
mov ecx, dword [0x884634]
add ecx, 0x1a634
call fcn.0042dd80
mov edi, dword [0x884634]
lea ecx, [edi + 0x25ff4]
call fcn.00419fb0
mov eax, dword [ebp + 0x10]
movzx edx, word [eax]
mov dword [edi + 0x2419c], edx
add eax, 2
mov dword [ebp + 0x10], eax
xor ebx, ebx
xor eax, eax
lea ecx, [edi + 0x2449a]
mov byte [esi + 0x113], 2
mov word [esi + 0x114], bx
mov dword [esi + 0x11c], ebx
mov dword [ecx], eax
mov dword [ecx + 4], eax
lea eax, [esi + 0x13]
mov edx, edi
sub edx, eax
add edx, 0x241a0
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4d36b3
lea eax, [esi + 0x93]
mov ecx, edi
sub ecx, eax
lea edx, [ecx + 0x24220]
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4d36d0
mov esi, dword [esp + 0x18]
mov byte [edi + 0x24234], cl
mov eax, dword [esi + 0x8c]
add edi, 0x24238
call fcn.00417b10
mov dl, byte [esi + 0x90]
mov eax, dword [0x884634]
mov byte [eax + 0x24244], dl
or ecx, 0xffffffff
lea edx, [eax + 0x2426d]
mov byte [eax + 0x24245], 1
mov dword [edx], ecx
mov dword [edx + 4], ecx
lea ecx, [eax + 0x1a634]
lea esi, [eax + 0x19ec1]
call fcn.0042dd80
lea ecx, [eax + eax*4]
mov eax, dword [0x884634]
lea edi, [eax + ecx*4 + 0x242bd]
jmp 0x4d3740
mov cl, byte [esi]
inc esi
mov byte [edi], cl
inc edi
test cl, cl
jne 0x4d3740
lea ecx, [eax + 0x1a634]
lea esi, [eax + 0x24480]
call fcn.0042dd80
mov dl, byte [esi]
mov esi, dword [0x884634]
lea ecx, [esi + 0x1a634]
mov byte [esi + eax*2 + 0x24482], dl
lea edi, [esi + 0x24481]
call fcn.0042dd80
mov cl, byte [edi]
mov esi, dword [0x884634]
mov byte [esi + eax*2 + 0x24483], cl
lea ecx, [esi + 0x1a634]
call fcn.0042dd80
mov ecx, dword [0x884634]
mov byte [eax + ecx + 0x24492], 0
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov byte [eax + ecx + 0x2449a], 1
lea esi, [ecx + 0x19ea4]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
lea edx, [ecx + eax*8]
lea edi, [eax + edx + 0x24275]
lea ecx, [ecx]
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
test al, al
jne 0x4d37e0
add ecx, 0x19f00
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x24564], esi
lea esi, [ecx + 0x19ed6]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x244a2], dx
lea esi, [ecx + 0x19ed8]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x244b2], dx
add ecx, 0x19ee8
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x24504], esi
add ecx, 0x19ef0
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x24524], esi
add ecx, 0x19ef8
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x24544], esi
lea esi, [ecx + 0x19eda]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x244d2], dx
lea esi, [ecx + 0x19ee4]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x244c2], dx
add ecx, 0x19edc
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x244e4], esi
add ecx, 0x1a5ec
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov word [ecx + eax*8 + 0x243c0], si
add ecx, 0x1a5f4
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov word [ecx + eax*8 + 0x243c2], si
add ecx, 0x1a5fc
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov word [ecx + eax*8 + 0x243c4], si
add ecx, 0x1a604
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, dword [0x884634]
mov word [ecx + eax*8 + 0x243c6], si
add ecx, 0x1a60c
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, eax
mov eax, dword [0x884634]
add ecx, 0x2440
shl ecx, 4
mov dword [ecx + eax], esi
lea ecx, [eax + 0x1a614]
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov edx, eax
mov eax, dword [0x884634]
shl edx, 4
lea ecx, [eax + 0x1a61c]
mov dword [edx + eax + 0x24404], esi
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov ecx, eax
mov eax, dword [0x884634]
shl ecx, 4
mov dword [ecx + eax + 0x24408], esi
lea ecx, [eax + 0x1a624]
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
mov edx, eax
mov eax, dword [0x884634]
shl edx, 4
lea ecx, [eax + 0x1a634]
mov dword [edx + eax + 0x2440c], esi
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25204], ebx
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25224], ebx
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25f04], ebx
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25f24], ebx
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25ec4], ebx
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
mov dword [ecx + eax*4 + 0x25ee4], ebx
xor edi, edi
mov ebx, 0x1a048
mov edi, edi
lea ecx, [ebx + ecx - 0xa0]
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
lea eax, [eax + eax*4]
lea ecx, [edi + eax*4]
mov eax, dword [0x884634]
mov dword [eax + ecx*4 + 0x24584], esi
lea ecx, [ebx + eax]
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [edi + edx*4]
mov dword [eax + ecx*4 + 0x24804], esi
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [edi + edx*4]
lea esi, [eax + ecx*4 + 0x24804]
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [edi + edx*4]
mov ecx, dword [eax + ecx*4 + 0x24584]
add ecx, dword [esi]
mov dword [esp + 0x14], ecx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [edi + edx*4]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4 + 0x24f84], edx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
mov ecx, dword [0x884634]
lea esi, [ecx + eax*4 + 0x25204]
add ecx, 0x1a634
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [edi + edx*4]
mov edx, dword [eax + ecx*4 + 0x24584]
add dword [esi], edx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
mov ecx, dword [0x884634]
lea esi, [ecx + eax*4 + 0x25224]
add ecx, 0x1a634
call fcn.0042dd80
lea eax, [eax + eax*4]
lea ecx, [edi + eax*4]
mov eax, dword [0x884634]
mov edx, dword [eax + ecx*4 + 0x24804]
add dword [esi], edx
lea ecx, [ebx + eax + 0x280]
call fcn.0042dd80
mov ecx, dword [0x884634]
add ecx, 0x1a634
mov esi, eax
call fcn.0042dd80
lea eax, [eax + eax*4]
lea ecx, [edi + eax*4]
mov eax, dword [0x884634]
mov dword [eax + ecx*4 + 0x25244], esi
lea ecx, [ebx + eax + 0x320]
call fcn.0042dd80
mov esi, eax
mov ecx, dword [0x884634]
add ecx, 0x1a634
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [edi + edx*4]
mov dword [eax + ecx*4 + 0x254c4], esi
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [edi + edx*4]
lea esi, [eax + ecx*4 + 0x254c4]
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [edi + edx*4]
mov ecx, dword [eax + ecx*4 + 0x25244]
add ecx, dword [esi]
mov dword [esp + 0x14], ecx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [edi + edx*4]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4 + 0x25c44], edx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
mov ecx, dword [0x884634]
lea esi, [ecx + eax*4 + 0x25ec4]
add ecx, 0x1a634
call fcn.0042dd80
lea edx, [eax + eax*4]
mov eax, dword [0x884634]
lea ecx, [edi + edx*4]
mov edx, dword [eax + ecx*4 + 0x25244]
add dword [esi], edx
lea ecx, [eax + 0x1a634]
call fcn.0042dd80
mov ecx, dword [0x884634]
lea esi, [ecx + eax*4 + 0x25ee4]
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
lea eax, [eax + eax*4]
lea edx, [edi + eax*4]
mov eax, dword [ecx + edx*4 + 0x254c4]
mov edx, dword [esi]
add edx, eax
add ebx, 8
inc edi
cmp ebx, 0x1a0e8
mov dword [esi], edx
jl 0x4d3b50
add ecx, 0x1a634
call fcn.0042dd80
mov ecx, dword [0x884634]
lea esi, [ecx + eax*4 + 0x25f04]
add ecx, 0x1a554
call fcn.0042dd80
mov edx, dword [esi]
mov ecx, dword [0x884634]
add edx, eax
add ecx, 0x1a634
mov dword [esi], edx
call fcn.0042dd80
mov ecx, dword [0x884634]
lea esi, [ecx + eax*4 + 0x25f24]
add ecx, 0x1a54c
call fcn.0042dd80
mov ecx, dword [esi]
push 0x257
push 0x31f
add ecx, eax
push 0
mov dword [esi], ecx
push 0
mov ecx, 0x8ffdc0
mov byte [0x8849e5], 0
call fcn.00534930
mov ecx, dword [0x8849bc]
mov esi, dword [0x884634]
mov byte [ecx + 8], 0
mov ax, word [esi + 0x2419c]
mov cx, word [esi + 0x1e5c4]
call fcn.00452890
push 9
mov byte [esi + 0x24260], 0
call fcn.00413c50
mov ebx, dword [0x8849cc]
mov edx, dword [0x884634]
add esp, 4
test ebx, ebx
mov dword [edx + 0x1ff28], 0xffffffff
je 0x4d3e8f
call fcn.00408310
jmp 0x4d3e99
push 0x900388
call fcn.004065e0
mov edx, dword [ebp + 8]
mov esi, dword [0x884634]
xor eax, eax
mov byte [esp + 0x90], 0
mov ecx, 0x7f
lea edi, [esp + 0x91]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
sub edx, 5
stosb byte es:[edi], al
xor eax, eax
xor ebx, ebx
test edx, edx
mov dword [ebp + 8], edx
jle 0x4d3f28
jmp 0x4d3ed0
mov ecx, dword [ebp + 0x10]
mov cl, byte [ebx + ecx]
cmp cl, 0xa
jne 0x4d3f18
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4d3ee5
push 1
push 0
sub eax, edx
lea edx, [esp + 0x98]
push edx
push 0
push 0
push 2
push esi
call fcn.004215c0
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x90]
rep stosd dword es:[edi], eax
jmp 0x4d3f20
mov byte [esp + eax + 0x90], cl
inc eax
mov ecx, dword [ebp + 8]
inc ebx
cmp ebx, ecx
jl 0x4d3ed0
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4d3f32
push 1
push 0
lea ecx, [esp + 0x98]
push ecx
push 0
push 0
push 2
sub eax, edx
push esi
call fcn.004215c0
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x884634]
cmp byte [edx + 0x1ff24], 2
push 1
mov eax, 0x908c10
jne 0x4d3f84
push 0x28
jmp 0x4d3f86
push 0x20
call fcn.004ce370
push 1
push 0x1f
mov eax, 0x908c10
call fcn.004ce370
mov eax, dword [esp + 0x18]
push eax
call fcn.00504150
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [0x884634]
mov eax, dword [ebp + 0x10]
movzx esi, byte [ebx + 0x23b30]
mov cx, word [eax]
add eax, 2
xor edx, edx
test esi, esi
jle case.default.0x4d40f6
movzx edi, cx
lea ecx, [ebx + 0x23b58]
cmp dword [ecx], edi
je 0x4d4006
inc edx
add ecx, 4
cmp edx, esi
jl 0x4d3fe3
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp edx, 0xffffffff
je case.default.0x4d40f6
movzx esi, byte [eax]
inc eax
test esi, esi
mov dword [esp + 0x18], esi
jne 0x4d4039
mov dword [ebx + edx*4 + 0x23b34], esi
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor ecx, ecx
mov dword [ebx + edx*4 + 0x23b34], 1
mov edi, edx
shl edi, 7
test esi, esi
setl cl
mov dword [esp + 0x14], edi
lea edi, [edi + ebx + 0x23b7c]
dec ecx
and ecx, esi
mov ebx, ecx
shr ecx, 2
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
add eax, ecx
lea edi, [esi + ecx]
mov esi, dword [0x884634]
mov byte [edi + esi + 0x23b7c], 0
mov cl, byte [eax]
mov byte [edx + esi + 0x23ffc], cl
mov ecx, dword [eax + 1]
inc eax
mov dword [esi + edx*4 + 0x24008], ecx
mov cl, byte [eax + 4]
add eax, 4
inc eax
mov byte [edx + esi + 0x2402c], cl
mov cl, byte [eax]
inc eax
mov byte [edx + esi + 0x2403e], cl
mov cl, byte [eax]
inc eax
mov byte [edx + esi + 0x24047], cl
mov cl, byte [eax]
mov byte [edx + esi + 0x24050], cl
mov al, byte [eax + 1]
mov byte [edx + esi + 0x24059], al
jmp 0x4d42d6
cmp eax, 0x3010
jg 0x4d4361
je 0x4d4320
sub eax, 0x21f1
cmp eax, 6
ja case.default.0x4d40f6
jmp dword [eax*4 + 0x4d43b4]
mov ecx, dword [ebp + 0x10]
mov si, word [ecx]
mov edi, dword [0x884634]
mov ecx, edi
call fcn.00421d90
cmp eax, 0xffffffff
je case.default.0x4d40f6
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 8], eax
jne 0x4d4129
mov dword [ecx + 8], 0xffffffff
mov dword [edi + eax*4 + 0x23b34], 0
jmp 0x4d42d6
mov edi, dword [ebp + 0x10]
mov ecx, dword [0x884634]
xor esi, esi
mov si, word [edi]
add edi, 2
call fcn.00421d90
cmp eax, 0xffffffff
je case.default.0x4d40f6
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 8], eax
jne 0x4d4168
mov dword [ecx + 8], 0xffffffff
mov edx, dword [ebp + 8]
mov esi, dword [0x884634]
xor ebx, ebx
lea ecx, [edx - 2]
test ecx, ecx
setl bl
shl eax, 7
add eax, esi
mov esi, edi
lea edi, [eax + 0x23b7c]
dec ebx
and ecx, ebx
mov ebx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [eax + edx + 0x23b7a], 0
jmp 0x4d42d6
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x884634]
xor esi, esi
mov si, word [edi]
mov ecx, ebx
add edi, 2
call fcn.00421d90
cmp eax, 0xffffffff
je case.default.0x4d40f6
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 8], eax
jne 0x4d41d7
mov dword [ecx + 8], 0xffffffff
mov dl, byte [edi]
mov byte [eax + ebx + 0x23ffc], dl
jmp 0x4d42d6
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x884634]
xor esi, esi
mov si, word [edi]
mov ecx, ebx
add edi, 2
call fcn.00421d90
cmp eax, 0xffffffff
je case.default.0x4d40f6
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 8], eax
jne 0x4d4216
mov dword [ecx + 8], 0xffffffff
mov ecx, dword [edi]
mov dword [ebx + eax*4 + 0x24008], ecx
jmp 0x4d42d6
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x884634]
xor esi, esi
mov si, word [edi]
mov ecx, ebx
add edi, 2
call fcn.00421d90
cmp eax, 0xffffffff
je case.default.0x4d40f6
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 8], eax
jne 0x4d4255
mov dword [ecx + 8], 0xffffffff
mov dl, byte [edi]
mov byte [eax + ebx + 0x2403e], dl
jmp 0x4d42d6
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x884634]
xor esi, esi
mov si, word [edi]
mov ecx, ebx
add edi, 2
call fcn.00421d90
cmp eax, 0xffffffff
je case.default.0x4d40f6
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 8], eax
jne 0x4d4291
mov dword [ecx + 8], 0xffffffff
mov cl, byte [edi]
mov byte [eax + ebx + 0x24047], cl
jmp 0x4d42d6
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x884634]
xor esi, esi
mov si, word [edi]
mov ecx, ebx
add edi, 2
call fcn.00421d90
cmp eax, 0xffffffff
je case.default.0x4d40f6
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 8], eax
jne 0x4d42cd
mov dword [ecx + 8], 0xffffffff
mov dl, byte [edi]
mov byte [eax + ebx + 0x24050], dl
push 0
push 0x5e2a6c
push 0x5e1138
push 0
call fcn.004cc880
mov ebx, 0x1f
mov edi, eax
call fcn.00403280
push eax
call fcn.00551f74
add esp, 0x14
test eax, eax
je case.default.0x4d40f6
mov edi, eax
call fcn.00504540
mov ecx, dword [esp + 0x3ec]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [0x8845cc]
test ecx, ecx
je case.default.0x4d40f6
call fcn.004f7b60
mov esi, dword [ebp + 0x10]
movzx ecx, byte [esi]
call fcn.004f6ef0
movzx edx, byte [esi]
mov eax, dword [0x884634]
mov cl, 1
mov byte [edx + eax + 0x2449a], cl
cmp byte [eax + 0x240d4], cl
jne case.default.0x4d40f6
mov cl, byte [eax + 0x24245]
cmp cl, byte [eax + 0x24244]
jmp 0x4d4366
cmp eax, 0x3432
jne case.default.0x4d40f6
push 9
call fcn.00413c50
add esp, 4
mov ecx, dword [esp + 0x3ec]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc