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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5856b4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5e8
movzx eax, word [ebp + 0xc]
cmp eax, 0x21f0
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0x14], esi
jg 0x4dc2b6
je 0x4dc199
cmp eax, 0x2111
jg 0x4da278
je 0x4d9341
cmp eax, 0x201f
jg 0x4d8c16
je 0x4d8b6d
cmp eax, 0x1101
je 0x4d8757
cmp eax, 0x2001
jne case.default.0x4dc2d5
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne case.default.0x4dc2d5
push 0
push 0x5fca24
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0xc8
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x4d86b6
push eax
call fcn.0050ae20
push 0
push 0x5fca9c
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x4d86fe
mov dl, 1
push 0
mov cl, dl
lea esi, [esp + 0x20]
call fcn.0044e720
push eax
call fcn.004d3b30
mov ecx, eax
call fcn.0044e8d0
mov ebx, dword [0x89ee08]
test ebx, ebx
je 0x4d870f
call fcn.00408390
jmp 0x4d8719
push 0x8a5480
call fcn.00406390
mov esi, dword [0x89e864]
call fcn.004324b0
mov esi, dword [0x89edfc]
push 0x6000
call fcn.004511d0
mov ecx, dword [0x89edfc]
push ecx
call fcn.00451370
mov ecx, dword [esp + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0
push 0x5fca9c
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x4d87a3
mov dl, 1
push 0
mov cl, dl
lea esi, [esp + 0x20]
call fcn.0044e720
push eax
call fcn.004d3b30
mov ecx, eax
call fcn.0044e8d0
mov esi, dword [esp + 0x14]
mov edi, dword [ebp + 0x10]
cmp word [edi], 0
jne case.default.0x4dc2d5
add edi, 2
xor ebx, ebx
mov bx, word [edi]
add edi, 2
test bx, bx
mov dword [esp + 0x1c], ebx
jbe 0x4d88e3
movzx eax, bx
imul eax, eax, 0x2c
push eax
call fcn.0056ae14
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x5fc], 1
je 0x4d8805
mov edx, dword [esp + 0x18]
push 0x4d8350
movzx eax, bx
push eax
push 0x2c
push edx
call fcn.004dc5b0
mov eax, dword [esp + 0x18]
jmp 0x4d8807
xor eax, eax
test bx, bx
mov dword [esp + 0x5fc], 0xffffffff
mov dword [esi + 0x2c4], eax
jbe 0x4d88e3
movzx ecx, bx
xor eax, eax
mov dword [esp + 0x18], ecx
lea ebx, [ebx]
mov ecx, dword [edi]
mov edx, dword [esi + 0x2c4]
mov dword [eax + edx], ecx
mov edx, dword [esi + 0x2c4]
mov ecx, dword [edi + 4]
add edi, 4
mov dword [eax + edx + 4], ecx
mov edx, dword [esi + 0x2c4]
lea ecx, [eax + edx + 4]
mov edx, dword [ecx]
test edx, edx
je 0x4d885f
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
lea edx, [eax + ecx + 0xc]
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 ebx, dword [ecx + 8]
mov dword [edx + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [edx + 0xc], ebx
mov ecx, dword [ecx + 0x10]
mov dword [edx + 0x10], ecx
mov ecx, dword [edi + 0x14]
mov edx, dword [esi + 0x2c4]
add edi, 0x14
mov dword [eax + edx + 0x20], ecx
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x2c4]
add edi, 4
mov dword [eax + edx + 0x24], ecx
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x2c4]
add edi, 4
mov dword [eax + edx + 0x28], ecx
mov ecx, dword [esp + 0x18]
add edi, 4
add eax, 0x2c
dec ecx
mov dword [esp + 0x18], ecx
jne 0x4d8830
mov ebx, dword [esp + 0x1c]
mov word [esi + 0x294], bx
xor ebx, ebx
mov bx, word [edi]
add edi, 2
test bx, bx
mov dword [esp + 0x1c], ebx
jbe 0x4d8a32
movzx eax, bx
imul eax, eax, 0x3c
push eax
call fcn.0056ae14
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x5fc], 2
je 0x4d893c
mov edx, dword [esp + 0x18]
push 0x4d8380
movzx eax, bx
push eax
push 0x3c
push edx
call fcn.004dc5b0
mov eax, dword [esp + 0x18]
jmp 0x4d893e
xor eax, eax
test bx, bx
mov dword [esi + 0x304], eax
jbe 0x4d8a32
movzx ecx, bx
xor eax, eax
mov dword [esp + 0x18], ecx
jmp 0x4d8960
mov ecx, dword [edi]
mov edx, dword [esi + 0x304]
mov dword [eax + edx], ecx
mov edx, dword [esi + 0x304]
mov ecx, dword [edi + 4]
add edi, 4
mov dword [eax + edx + 4], ecx
mov edx, dword [esi + 0x304]
lea ecx, [eax + edx + 4]
mov edx, dword [ecx]
test edx, edx
je 0x4d898f
neg edx
mov dword [ecx], edx
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x304]
mov dword [eax + ecx + 8], edx
mov ecx, dword [esi + 0x304]
lea edx, [eax + ecx + 0xc]
add edi, 4
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 ebx, dword [ecx + 8]
mov dword [edx + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [edx + 0xc], ebx
mov ecx, dword [ecx + 0x10]
mov dword [edx + 0x10], ecx
mov ecx, dword [edi + 0x14]
mov edx, dword [esi + 0x304]
mov dword [eax + edx + 0x20], ecx
mov edx, dword [esi + 0x304]
add edi, 0x14
mov ecx, dword [edi + 4]
mov dword [eax + edx + 0x24], ecx
mov edx, dword [esi + 0x304]
add edi, 4
mov ecx, dword [edi + 4]
mov dword [eax + edx + 0x28], ecx
mov edx, dword [esi + 0x304]
add edi, 4
lea ecx, [eax + edx + 0x2c]
add edi, 4
mov edx, edi
mov ebx, dword [edx]
mov dword [ecx], ebx
mov ebx, dword [edx + 4]
mov dword [ecx + 4], ebx
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x18]
add edi, 0xc
add eax, 0x3c
dec ecx
mov dword [esp + 0x18], ecx
jne 0x4d8960
mov ebx, dword [esp + 0x1c]
mov word [esi + 0x296], bx
mov al, byte [edi]
inc edi
test al, al
je 0x4d8ab6
mov eax, dword [edi]
add edi, 4
mov dword [esi + 0x298], eax
mov eax, dword [edi]
test eax, eax
mov dword [esi + 0x29c], eax
je 0x4d8a5f
neg eax
mov dword [esi + 0x29c], eax
mov ecx, dword [edi + 4]
add edi, 4
mov dword [esi + 0x2a0], ecx
add edi, 4
mov eax, edi
mov ecx, dword [eax]
lea edx, [esi + 0x2a4]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [edx + 0xc], ecx
mov eax, dword [eax + 0x10]
add edi, 0x14
mov dword [edx + 0x10], eax
mov ecx, dword [edi]
add edi, 4
mov dword [esi + 0x2b8], ecx
mov edx, dword [edi]
add edi, 4
mov dword [esi + 0x2bc], edx
mov eax, dword [edi]
mov dword [esi + 0x2c0], eax
add edi, 4
mov al, byte [edi]
inc edi
test al, al
je case.default.0x4dc2d5
mov ecx, dword [edi]
add edi, 4
mov dword [esi + 0x2c8], ecx
mov eax, dword [edi]
test eax, eax
mov dword [esi + 0x2cc], eax
je 0x4d8ae0
neg eax
mov dword [esi + 0x2cc], eax
mov edx, dword [edi + 4]
mov dword [esi + 0x2d0], edx
add edi, 4
add edi, 4
lea eax, [esi + 0x2d4]
mov ecx, edi
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov ecx, dword [ecx + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x14]
mov dword [esi + 0x2e8], edx
mov edx, dword [0x89e864]
add edi, 0x14
mov eax, dword [edi + 4]
add edi, 4
mov dword [esi + 0x2ec], eax
mov ecx, dword [edi + 4]
mov dword [esi + 0x2f0], ecx
add edx, 0x1a2d9
mov eax, dword [edx]
add esi, 0x2f4
mov dword [esi], eax
mov ecx, dword [edx + 4]
mov dword [esi + 4], ecx
mov edx, dword [edx + 8]
mov dword [esi + 8], edx
mov ecx, dword [esp + 0x5f4]
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 [0x89e864]
imul ecx, ecx, 0xd
lea ecx, [ecx + eax + 0x20445]
push eax
call fcn.00430bd0
cmp eax, 0xffffffff
jne case.default.0x4dc2d5
push 0
push 0x5fca9c
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
movzx edx, byte [esi + 0xd]
mov ecx, dword [0x89e864]
add esp, 0x14
push 0
push 0
push edx
mov edi, eax
movzx eax, byte [esi]
mov edx, eax
imul edx, edx, 0xd
add esi, 0xe
push esi
lea edx, [edx + ecx + 0x20445]
push edx
lea edx, [ecx + eax*8]
push 0
lea eax, [eax + edx + 0x22948]
push ecx
call fcn.00423ee0
test edi, edi
je case.default.0x4dc2d5
mov eax, edi
call fcn.00518a30
mov ecx, dword [esp + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
sub eax, 0x2103
je 0x4d8fef
sub eax, 2
jne case.default.0x4dc2d5
push 0
push 0x5fca9c
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x4d8c76
mov dl, 1
push 0
mov cl, dl
lea esi, [esp + 0x4c]
call fcn.0044e720
push eax
call fcn.004d3b30
mov ecx, eax
call fcn.0044e8d0
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne 0x4d8fce
mov cl, byte [eax + 2]
mov edx, dword [esp + 0x14]
mov edi, dword [edx + 0x124]
mov ebx, dword [0x89e864]
movzx ecx, cl
add eax, 2
mov dword [esp + 0x1c], ecx
shl edi, 7
lea edi, [edi + ebx + 0x23e9c]
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 [0x89e864]
mov ecx, ebx
shl edi, 7
add edi, ecx
add eax, ecx
mov byte [edi + esi + 0x23e9c], 0
mov ecx, dword [edx + 0x124]
shl ecx, 7
lea edi, [ecx + esi + 0x23e9c]
lea ecx, [edx + 0x12c]
mov edi, edi
mov bl, byte [edi]
inc edi
mov byte [ecx], bl
inc ecx
test bl, bl
jne 0x4d8cf0
mov cl, byte [eax]
mov edi, dword [edx + 0x124]
mov byte [edx + 0x1ac], cl
mov byte [edi + esi + 0x2439c], cl
mov ecx, dword [eax + 1]
mov edi, dword [edx + 0x124]
mov dword [edx + 0x1b0], ecx
mov dword [esi + edi*4 + 0x243a8], ecx
mov ecx, dword [edx + 0x124]
inc eax
mov bl, byte [eax + 4]
mov byte [ecx + esi + 0x243d0], bl
mov edi, dword [edx + 0x124]
add eax, 4
mov cl, byte [eax + 1]
inc eax
mov byte [edx + 0x1b4], cl
mov byte [edi + esi + 0x243e4], cl
mov cl, byte [eax + 1]
mov edi, dword [edx + 0x124]
inc eax
mov byte [edx + 0x1b5], cl
mov byte [edi + esi + 0x243ee], cl
mov cl, byte [eax + 1]
mov edi, dword [edx + 0x124]
inc eax
mov byte [edx + 0x1b6], cl
mov byte [edi + esi + 0x243f8], cl
mov cl, byte [eax + 1]
mov edi, dword [edx + 0x124]
inc eax
mov byte [edx + 0x1b7], cl
mov byte [edi + esi + 0x24402], cl
mov cl, byte [edx + 0x1b4]
xor edi, edi
inc eax
test cl, cl
mov dword [esp + 0x18], edi
jbe 0x4d8ea3
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 + 0x10], 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 + 0x24], 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 + 0x24540], 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 0x4d8e30
mov ebx, dword [esp + 0x30]
shr ebx, 0x10
test cl, bl
jne 0x4d8e30
mov byte [esp + 0x33], 0
mov cx, word [eax + 8]
mov ebx, dword [esp + 0x24]
add eax, 8
mov word [esp + 0x1c], cx
add eax, 8
lea edi, [esp + 0x38]
mov cl, byte [edi]
mov byte [ebx + edi], cl
inc edi
test cl, cl
jne 0x4d8e47
mov ebx, dword [esp + 0x10]
lea edi, [esp + 0x2c]
lea esp, [esp]
mov cl, byte [edi]
mov byte [ebx + edi], cl
inc edi
test cl, cl
jne 0x4d8e60
mov ecx, dword [esp + 0x1c]
lea edi, [ecx + 5]
mov ecx, dword [esp + 0x28]
mov word [ecx], di
mov edi, dword [esp + 0x18]
add ecx, 2
mov dword [esp + 0x28], ecx
add dword [esp + 0x24], 0xd
movzx ecx, byte [edx + 0x1b4]
inc edi
add ebx, 9
cmp edi, ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], ebx
jl 0x4d8de2
mov eax, 0x11a
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], eax
mov eax, 0x50
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov eax, 0x93
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov eax, 0xd6
push 0
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov ecx, 0x11
mov eax, 0x119
push 0x5fe788
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov eax, 0x15c
push 0x5fb1f4
push 0
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
call fcn.004d3b30
mov ebx, 0x25
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
jne case.default.0x4dc2d5
push 0x90
call fcn.0056ae19
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x5fc], 3
je 0x4d8fa0
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x124]
mov edx, dword [esp + ecx*4 + 0x78]
push ecx
mov ecx, dword [esp + ecx*4 + 0x54]
push edx
push ecx
push eax
call fcn.00538ca0
mov esi, eax
jmp 0x4d8fa2
xor esi, esi
mov dword [esp + 0x5fc], 0xffffffff
call fcn.004d3b30
call fcn.004033d0
mov ecx, dword [esp + 0x5f4]
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 + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0
push 0x5fca9c
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x4d903b
mov dl, 1
push 0
mov cl, dl
lea esi, [esp + 0x4c]
call fcn.0044e720
push eax
call fcn.004d3b30
mov ecx, eax
call fcn.0044e8d0
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne 0x4da235
mov cl, byte [eax + 2]
mov edx, dword [0x89e864]
add eax, 2
add eax, 2
test cl, cl
mov byte [edx + 0x23e48], cl
je 0x4d906d
mov ecx, dword [esi + 0x11c]
mov dword [esi + 0x118], ecx
xor ecx, ecx
lea ebx, [edx + 0x23e4c]
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 dword [edi + 0x24], ecx
mov cl, byte [edx + 0x23e48]
xor edi, edi
test cl, cl
mov dword [esp + 0x28], edi
jbe 0x4d91d7
lea ecx, [edx + 0x23eba]
mov dword [esp + 0x24], ecx
mov ecx, 0xfffdc146
sub ecx, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
cmp edi, 0xa
jge 0x4d91d7
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x28], ecx
movzx ecx, byte [eax]
inc eax
test ecx, ecx
mov dword [esp + 0x10], ecx
je 0x4d91ae
cmp ecx, 0x32
jle 0x4d90f1
mov ecx, 0x32
mov dword [esp + 0x10], ecx
cmp ecx, 0x1e
mov dword [ebx], 1
jg 0x4d9104
test ecx, ecx
jge 0x4d9109
xor ecx, ecx
jmp 0x4d9109
mov ecx, 0x1e
mov edi, dword [esp + 0x24]
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 + 0x10]
mov ecx, dword [esp + 0x1c]
add eax, esi
lea edi, [esi + ecx]
mov ecx, dword [esp + 0x24]
add edi, ecx
mov byte [edi + edx + 0x23e9c], bl
mov edi, dword [esp + 0x28]
mov byte [ecx], bl
mov byte [ecx + 1], bl
mov bl, byte [eax]
mov byte [edi + edx + 0x2439c], bl
mov esi, dword [eax + 1]
mov ebx, dword [esp + 0x18]
mov dword [ebx + 0x55c], esi
mov esi, dword [esp + 0x14]
inc eax
mov bl, byte [eax + 4]
add eax, 4
inc eax
mov byte [edi + edx + 0x243d0], bl
mov bl, byte [eax]
inc eax
mov byte [edi + edx + 0x243da], bl
mov bl, byte [eax]
inc eax
mov byte [edi + edx + 0x243e4], bl
mov bl, byte [eax]
inc eax
mov byte [edi + edx + 0x243ee], bl
mov bl, byte [eax]
inc eax
mov byte [edi + edx + 0x243f8], bl
mov bl, byte [eax]
mov byte [edi + edx + 0x24402], bl
mov ebx, dword [esp + 0x18]
inc eax
mov byte [edi + edx + 0x2440c], 0
jmp 0x4d91b2
mov ecx, dword [esp + 0x24]
add ecx, 0x80
mov dword [esp + 0x24], ecx
movzx ecx, byte [edx + 0x23e48]
inc edi
add ebx, 4
cmp edi, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x18], ebx
jl 0x4d90c1
push 0
push 0x5fca9c
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4d9232
mov edx, dword [0x89e864]
mov al, byte [edx + 0x23e48]
xor ebx, ebx
test al, al
jbe 0x4d922d
call fcn.00518a00
mov eax, dword [0x89e864]
movzx ecx, byte [eax + 0x23e48]
inc ebx
cmp ebx, ecx
jl 0x4d9217
call fcn.00518a00
mov al, byte [esi + 0x289]
test al, al
je 0x4d9259
push esi
call fcn.004ddc40
mov ecx, dword [esp + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 0x288]
test al, al
je 0x4d9280
push esi
call fcn.004ddee0
mov ecx, dword [esp + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [0x89e864]
add ecx, 0x1ab38
call fcn.00418340
cmp al, 1
jne case.default.0x4dc2d5
mov ecx, dword [0x89e864]
mov ax, word [ecx + 0x1ab44]
cmp ax, 0xffff
je case.default.0x4dc2d5
movsx eax, ax
cdq
mov edi, 0xa
idiv edi
mov dword [esi + 8], edx
mov eax, dword [ecx + edx*4 + 0x23e4c]
test eax, eax
je 0x4d931d
mov al, byte [edx + ecx + 0x243f8]
test al, al
jne 0x4d931d
mov al, byte [edx + ecx + 0x243e4]
cmp al, byte [edx + ecx + 0x243ee]
je 0x4d931d
mov al, byte [edx + ecx + 0x24402]
test al, al
je 0x4d92fc
lea edi, [ecx + 0x1ab38]
xor al, al
call fcn.004182c0
push 0xffffffffffffffff
push 0
push esi
call fcn.004dd7e0
mov ecx, dword [esp + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea edi, [ecx + 0x1ab38]
xor al, al
call fcn.004182c0
mov ecx, dword [esp + 0x5f4]
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 0x4da181
push ecx
push 0x5fca9c
push 0x5fb1f4
push ecx
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
mov eax, 0x8a38b0
mov byte [esi + 0x11], 0
call fcn.00459df0
mov edx, dword [0x89e864]
call fcn.00423e00
lea eax, [edx + 0x263a0]
call fcn.0041bce0
mov ebx, dword [ebp + 0x10]
lea eax, [edx + 0x24846]
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
movzx eax, byte [ebx + 2]
add ebx, 2
lea edi, [edx + 0x1aaa8]
call fcn.00417f50
mov edi, dword [0x89e864]
movzx eax, byte [ebx + 1]
inc ebx
add edi, 0x1aa9c
call fcn.00417f50
mov ecx, dword [0x89e864]
inc ebx
add ecx, 0x1aa9c
mov dword [ebp + 0x10], ebx
call fcn.00432f90
mov ebx, eax
mov eax, 0x8a38b0
call fcn.00459dc0
mov edx, dword [ebp + 0x10]
movzx ecx, word [edx]
mov eax, dword [0x89e864]
mov dword [eax + 0x24548], ecx
xor ecx, ecx
mov word [esi + 0x114], cx
mov dword [esi + 0x11c], ecx
add edx, 2
mov byte [esi + 0x113], 2
mov cl, byte [edx]
movzx ecx, cl
mov dword [esp + 0x1c], ecx
inc edx
mov esi, edx
mov dword [ebp + 0x10], edx
mov edx, ecx
shr ecx, 2
lea edi, [eax + 0x2454c]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
add ecx, 0x93
mov edx, eax
sub edx, ecx
lea esi, [edx + 0x245cc]
mov dl, byte [ecx]
mov byte [ecx + esi], dl
inc ecx
test dl, dl
jne 0x4d9453
mov ecx, dword [esp + 0x1c]
mov esi, dword [ebp + 0x10]
mov byte [ecx + eax + 0x2454c], dl
add esi, ecx
mov cl, byte [esi]
mov byte [eax + 0x245e0], cl
inc esi
lea edi, [eax + 0x245e4]
mov eax, dword [esi]
call fcn.00417f50
mov edx, dword [esi + 4]
mov eax, dword [0x89e864]
add esi, 4
mov dword [eax + 0x24619], edx
mov ecx, dword [esi + 4]
add esi, 8
mov dword [eax + 0x2461d], ecx
mov dl, byte [esi]
inc esi
mov byte [eax + 0x245f0], dl
mov cl, byte [esi]
inc esi
test cl, cl
mov byte [eax + 0x245f1], cl
mov dword [ebp + 0x10], esi
mov dword [esp + 0x28], 0
jbe 0x4d9f2c
jmp 0x4d94d0
mov al, byte [esi]
mov ebx, dword [0x89e864]
mov ecx, dword [ebx + 0x263c0]
add ebx, 0x263a0
movzx edi, al
inc esi
inc ecx
push edi
mov dword [ebx + 0x20], ecx
call fcn.0041bd20
mov eax, dword [0x89e864]
xor edx, edx
lea ecx, [edi + edi*4]
shl ecx, 2
mov dword [esp + 0x10], ecx
lea ecx, [ecx + eax + 0x24669]
mov ebx, ecx
mov dword [ebx], edx
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edx
mov edx, esi
mov ebx, dword [edx]
mov dword [ecx], ebx
mov ebx, dword [edx + 4]
mov dword [ecx + 4], ebx
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x10]
mov byte [ecx + eax + 0x24675], 0
mov cl, byte [esi + 0xc]
add esi, 0xc
test cl, cl
sete cl
mov byte [edi + eax + 0x806d8], cl
mov edx, dword [esi + 1]
inc esi
mov dword [eax + edi*4 + 0x2470c], edx
add esi, 4
mov byte [esp + 0xc], cl
mov cx, word [esi]
mov word [eax + edi*2 + 0x2474c], cx
mov edx, dword [esi + 2]
add esi, 2
mov dword [eax + edi*4 + 0x2472c], edx
mov cx, word [esi + 4]
add esi, 4
mov word [eax + edi*2 + 0x2475c], cx
mov dl, byte [esi + 2]
add esi, 2
mov byte [eax + edi*2 + 0x2482e], dl
mov cl, byte [esi + 1]
inc esi
mov byte [eax + edi*2 + 0x2482f], cl
mov dl, byte [esi + 1]
inc esi
mov byte [edi + eax + 0x2483e], dl
mov eax, dword [eax + 0x1aaa0]
inc esi
mov dword [esp + 0x18], eax
call fcn.004d3720
mov ebx, eax
lea eax, [ebx + 0x30]
push eax
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [ebx + 0x2c]
test al, al
je 0x4d95d9
mov ecx, dword [esp + 0x10]
mov ebx, 1
push ecx
jmp 0x4d95fd
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + 0x24]
mov ebx, dword [ebx + 0x1c]
mov edx, eax
shr edx, 3
mov dword [esp + 0x18], ebx
mov ebx, dword [ecx + edx*4]
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + eax*4]
mov eax, dword [esp + 0x10]
xor ebx, ecx
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp edi, ebx
mov eax, dword [0x89e864]
jne 0x4d9619
mov cl, byte [edi + eax + 0x2483e]
mov byte [eax + 0x1aaa4], cl
mov dl, byte [esi]
mov byte [edi + eax + 0x24846], dl
mov edx, dword [esi + 1]
inc esi
lea ecx, [eax + edi*8]
add ecx, edi
mov dword [ecx + 0x24621], edx
mov edx, dword [esi + 4]
mov dword [ecx + 0x24625], edx
mov bl, byte [ecx + 0x24628]
mov dl, 0x80
test dl, bl
je 0x4d965d
lea ebx, [eax + edi*8 + 0x20578]
test byte [edi + ebx + 0x40af], dl
jne 0x4d965d
mov byte [ecx + 0x24628], 0
mov byte [ecx + 0x24629], 0
mov cx, word [esi + 8]
add esi, 8
add cx, 5
add esi, 2
mov word [eax + edi*2 + 0x2484e], cx
mov dx, word [esi]
add esi, 2
add dx, 5
mov word [eax + edi*2 + 0x2485e], dx
mov cx, word [esi]
add cx, 5
add esi, 2
mov word [eax + edi*2 + 0x2487e], cx
mov dx, word [esi]
add esi, 2
mov word [eax + edi*2 + 0x2486e], dx
movzx ecx, word [esi]
add esi, 2
mov dword [esp + 0x10], ecx
mov dword [ebp + 0x10], esi
xor edx, edx
lea ecx, [edi*4]
cmp edx, 3
jne 0x4d96d3
mov word [eax + ecx*2 + 0x24772], 0x8000
jmp 0x4d96ec
mov bl, byte [esp + 0xc]
neg bl
lea ecx, [ecx + edx + 0x123b6]
sbb ebx, ebx
and ebx, 0x8000
mov word [eax + ecx*2], bx
lea ecx, [edi*4]
lea ebx, [ecx + edx + 0x91eb]
inc edx
cmp edx, 4
mov dword [eax + ebx*4], 0
jl 0x4d96c2
mov ecx, dword [esp + 0x10]
test ecx, ecx
jle 0x4d982a
mov dword [esp + 0x10], ecx
jmp 0x4d9720
mov ebx, dword [esi]
cmp ebx, 0x31999
jle 0x4d97c7
cmp ebx, 0x34000
jge 0x4d97c7
lea ecx, [esp + 0x2a0]
call fcn.0040afa0
push ebx
lea edx, [esp + 0x2a4]
mov dword [esp + 0x600], 5
mov eax, dword [0x89e864]
push edx
push eax
mov al, 1
call fcn.0042efd0
movzx eax, byte [esp + 0x2a9]
dec eax
je 0x4d9790
dec eax
jne 0x4d97a9
mov eax, dword [0x89e864]
mov ecx, edi
shl ecx, 4
mov dword [ecx + eax + 0x247b4], ebx
mov byte [edi + eax + 0x26338], 1
jmp 0x4d97a9
mov eax, dword [0x89e864]
lea edx, [edi + 0x247b]
shl edx, 4
mov dword [edx + eax], ebx
mov byte [edi + eax + 0x26330], 1
lea ecx, [esp + 0x2a0]
mov dword [esp + 0x5fc], 0xffffffff
call fcn.00413330
mov eax, dword [0x89e864]
jmp 0x4d9815
mov ecx, ebx
sar ecx, 0x10
and cl, 0xf
and ebx, 0x7fff
cmp cl, 3
jne 0x4d97f1
or ebx, 0x8000
lea ecx, [edi*4]
mov word [eax + ecx*2 + 0x24772], bx
jmp 0x4d9815
mov dl, byte [esp + 0xc]
neg dl
sbb edx, edx
and edx, 0x8000
or edx, ebx
movzx ebx, cl
lea ecx, [edi*4]
add ebx, ecx
mov word [eax + ebx*2 + 0x2476c], dx
mov ecx, dword [esp + 0x10]
add esi, 4
dec ecx
mov dword [esp + 0x10], ecx
jne 0x4d9720
mov dword [ebp + 0x10], esi
mov cl, byte [esi]
lea esi, [eax + edi*8 + 0x262f0]
test byte [0x92e648], 1
mov byte [esp + 0xc], cl
jne 0x4d9874
or dword [0x92e648], 1
push 0x92e600
mov dword [esp + 0x600], 6
call fcn.004d3390
push 0x589b40
call fcn.0056b241
add esp, 4
mov dword [esp + 0x5fc], 0xffffffff
mov ecx, dword [esi + 4]
push 1
lea eax, [esp + 0x10]
push eax
push ecx
mov esi, 0x92e600
call fcn.0040ae40
call fcn.0056ce40
cdq
mov ecx, 6
idiv ecx
mov ecx, dword [0x89e864]
mov eax, dword [0x89ee3c]
mov dword [ecx + edi*4 + 0x26340], edx
mov edx, dword [ebp + 0x10]
inc edx
cmp eax, 1
mov dword [ebp + 0x10], edx
jne 0x4d98e4
mov ebx, edx
movzx eax, byte [ebx]
push 1
lea edx, [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + edi*8 + 0x1aa18]
push edx
push eax
call fcn.004d3720
mov esi, eax
call fcn.0040ae40
mov ecx, dword [0x89e864]
add ebx, 5
mov dword [ebp + 0x10], ebx
mov eax, dword [ecx + edi*4 + 0x2472c]
xor edx, edx
mov dx, word [ecx + edi*2 + 0x2475c]
mov esi, edi
push edx
push eax
mov ax, word [ecx + edi*2 + 0x2474c]
mov ecx, dword [ecx + edi*4 + 0x2470c]
mov edx, 0x8a38b0
call fcn.00459eb0
mov esi, dword [0x89e864]
mov al, byte [0x92e648]
add esi, 0x1aa9c
test al, 1
jne 0x4d995b
or dword [0x92e648], 1
push 0x92e600
mov dword [esp + 0x600], 7
call fcn.004d3390
push 0x589b40
call fcn.0056b241
add esp, 4
mov dword [esp + 0x5fc], 0xffffffff
mov ebx, dword [esi + 4]
push 0x92e630
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [0x92e62c]
test al, al
push 0x92e630
je 0x4d997e
mov esi, 1
jmp 0x4d9994
mov edx, dword [0x92e624]
mov eax, dword [0x92e61c]
mov ecx, ebx
shr ecx, 3
mov esi, dword [edx + ecx*4]
xor esi, dword [eax + ebx*4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp edi, esi
mov eax, dword [0x89e864]
jne 0x4d9f0c
mov edi, dword [eax + 0x1aa04]
lea esi, [eax + 0x1aa04]
xor ecx, ecx
cmp edi, ecx
je 0x4d99e7
mov ebx, dword [esi + 4]
cmp ebx, ecx
jbe 0x4d99cf
push edi
call fcn.00435620
add edi, 0x1a8
dec ebx
jne 0x4d99c0
mov ecx, dword [esi]
push ecx
call fcn.0056af54
mov eax, dword [0x89e864]
add esp, 4
mov dword [esi], 0
xor ecx, ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
mov edx, dword [eax + 0x244f4]
xor edi, edi
cmp edx, ecx
mov dword [esp + 0x24], edi
jle 0x4d9f0c
mov dword [esp + 0x14], ecx
mov ecx, edx
cmp edi, ecx
jae 0x4dc126
mov esi, dword [eax + 0x244f0]
mov ecx, dword [esp + 0x14]
mov al, byte [0x92e648]
add esi, ecx
test al, 1
jne 0x4d9a58
or dword [0x92e648], 1
push 0x92e600
mov dword [esp + 0x600], 8
call fcn.004d3390
push 0x589b40
call fcn.0056b241
add esp, 4
mov dword [esp + 0x5fc], 0xffffffff
mov esi, dword [esi + 0x18]
push 0x92e630
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [0x92e62c]
test al, al
push 0x92e630
je 0x4d9a7f
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4d9ee9
mov eax, dword [0x92e624]
mov ecx, dword [0x92e61c]
mov edx, esi
shr edx, 3
mov ebx, dword [eax + edx*4]
xor ebx, dword [ecx + esi*4]
mov dword [esp + 0x3c], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp ebx, 0x320e6
jl 0x4d9ee9
cmp ebx, 0x320f0
jge 0x4d9ee9
mov eax, dword [0x89e864]
mov ecx, dword [eax + 0x1aa08]
xor ebx, ebx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
mov byte [esp + 0xc], 0
jle 0x4d9b9d
mov dword [esp + 0x18], ebx
jmp 0x4d9ae0
mov eax, dword [0x89e864]
cmp ebx, dword [eax + 0x1aa08]
jae 0x4dc126
mov esi, dword [eax + 0x1aa04]
mov ecx, dword [esp + 0x18]
mov al, byte [0x92e648]
add esi, ecx
test al, 1
jne 0x4d9b35
or dword [0x92e648], 1
push 0x92e600
mov dword [esp + 0x600], 9
call fcn.004d3390
push 0x589b40
call fcn.0056b241
add esp, 4
mov dword [esp + 0x5fc], 0xffffffff
mov edi, dword [esi + 0x190]
push 0x92e630
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [0x92e62c]
test al, al
push 0x92e630
je 0x4d9b5b
mov esi, 1
jmp 0x4d9b71
mov eax, dword [0x92e624]
mov ecx, dword [0x92e61c]
mov edx, edi
shr edx, 3
mov esi, dword [eax + edx*4]
xor esi, dword [ecx + edi*4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp esi, dword [esp + 0x38]
jne 0x4d9b82
mov byte [esp + 0xc], 1
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ebx
add ecx, 0x1a8
cmp ebx, eax
mov dword [esp + 0x18], ecx
jl 0x4d9adb
lea edx, [esp + 0xa0]
push edx
call fcn.004dc5e0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x5fc], 0xa
mov eax, dword [0x89e864]
cmp ecx, dword [eax + 0x244f4]
jae 0x4dc126
mov esi, dword [eax + 0x244f0]
mov ecx, dword [esp + 0x14]
mov al, byte [0x92e648]
add esi, ecx
test al, 1
jne 0x4d9c0d
or dword [0x92e648], 1
push 0x92e600
mov byte [esp + 0x600], 0xb
call fcn.004d3390
push 0x589b40
call fcn.0056b241
add esp, 4
mov byte [esp + 0x5fc], 0xa
mov edi, dword [esi + 0x18]
push 0x92e630
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [0x92e62c]
test al, al
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x92e630
je 0x4d9c36
mov esi, 1
jmp 0x4d9c4c
mov eax, dword [0x92e624]
mov ecx, dword [0x92e61c]
mov edx, edi
shr edx, 3
mov esi, dword [eax + edx*4]
xor esi, dword [ecx + edi*4]
call ebx
mov al, byte [0x92e648]
add esi, 0xfffce302
test al, 1
mov dword [esp + 0x10], esi
jne 0x4d9c8f
or dword [0x92e648], 1
push 0x92e600
mov byte [esp + 0x600], 0xc
call fcn.004d3390
push 0x589b40
call fcn.0056b241
add esp, 4
mov byte [esp + 0x5fc], 0xa
mov eax, dword [esp + 0x228]
push 1
lea edx, [esp + 0x14]
push edx
push eax
mov esi, 0x92e600
call fcn.0040ae40
mov eax, dword [0x89e864]
mov ecx, dword [esp + 0x24]
cmp ecx, dword [eax + 0x244f4]
jae 0x4dc126
mov esi, dword [eax + 0x244f0]
mov ecx, dword [esp + 0x14]
mov al, byte [0x92e648]
add esi, ecx
test al, 1
jne 0x4d9d00
or dword [0x92e648], 1
push 0x92e600
mov byte [esp + 0x600], 0xd
call fcn.004d3390
push 0x589b40
call fcn.0056b241
add esp, 4
mov byte [esp + 0x5fc], 0xa
mov edi, dword [esi + 0x18]
push 0x92e630
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [0x92e62c]
test al, al
push 0x92e630
je 0x4d9d27
mov edi, 1
mov esi, edi
call ebx
jmp 0x4d9d44
mov eax, dword [0x92e624]
mov ecx, dword [0x92e61c]
mov edx, edi
shr edx, 3
mov esi, dword [eax + edx*4]
xor esi, dword [ecx + edi*4]
call ebx
mov edi, 1
test byte [0x92e648], 1
mov dword [esp + 0x10], esi
jne 0x4d9d7e
or dword [0x92e648], edi
push 0x92e600
mov byte [esp + 0x600], 0xe
call fcn.004d3390
push 0x589b40
call fcn.0056b241
add esp, 4
mov byte [esp + 0x5fc], 0xa
mov eax, dword [esp + 0x230]
push edi
lea edx, [esp + 0x14]
push edx
push eax
mov esi, 0x92e600
call fcn.0040ae40
test byte [0x92e648], 1
mov byte [esp + 0x23c], 4
mov dword [esp + 0x10], edi
jne 0x4d9dd8
or dword [0x92e648], edi
push 0x92e600
mov byte [esp + 0x600], 0xf
call fcn.004d3390
push 0x589b40
call fcn.0056b241
add esp, 4
mov byte [esp + 0x5fc], 0xa
mov edx, dword [esp + 0x238]
push edi
lea ecx, [esp + 0x14]
push ecx
push edx
mov esi, 0x92e600
call fcn.0040ae40
mov eax, dword [0x89e864]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x220], 1
cmp ecx, dword [eax + 0x244f4]
jae 0x4dc126
mov esi, dword [eax + 0x244f0]
mov ecx, dword [esp + 0x14]
mov al, byte [0x92e648]
add esi, ecx
test al, 1
jne 0x4d9e4f
or dword [0x92e648], edi
push 0x92e600
mov byte [esp + 0x600], 0x10
call fcn.004d3390
push 0x589b40
call fcn.0056b241
add esp, 4
mov byte [esp + 0x5fc], 0xa
mov edi, dword [esi + 0x18]
push 0x92e630
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [0x92e62c]
test al, al
push 0x92e630
je 0x4d9e72
mov esi, 1
jmp 0x4d9e88
mov eax, dword [0x92e624]
mov ecx, dword [0x92e61c]
mov edx, edi
shr edx, 3
mov esi, dword [eax + edx*4]
xor esi, dword [ecx + edi*4]
call ebx
push str..img
add esi, 0xfffcdf26
push esi
lea edx, [esp + 0x1e8]
push str.b_ready_item_03d_s
push edx
call fcn.0056aefc
mov al, byte [esp + 0x1c]
add esp, 0x10
test al, al
jne 0x4d9ecd
mov ecx, dword [0x89e864]
lea eax, [esp + 0xa0]
push eax
add ecx, 0x1aa04
push ecx
call fcn.004de0b0
lea edx, [esp + 0xa0]
push edx
mov dword [esp + 0x600], 0xffffffff
call fcn.00435620
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov eax, dword [0x89e864]
mov ecx, dword [eax + 0x244f4]
inc edi
add edx, 0x68
cmp edi, ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], edx
jl 0x4d9a09
mov ecx, dword [esp + 0x28]
movzx eax, byte [eax + 0x245f1]
mov esi, dword [ebp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x28], ecx
jl 0x4d94d0
mov eax, dword [0x89e864]
mov ecx, dword [eax + 0x1aaa0]
mov dword [esp + 0x10], ecx
call fcn.004d3720
mov ebx, eax
lea edi, [ebx + 0x30]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [ebx + 0x2c]
test al, al
push edi
je 0x4d9f56
mov ebx, 1
jmp 0x4d9f73
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x24]
mov ebx, dword [ebx + 0x1c]
mov edx, eax
shr edx, 3
mov dword [esp + 0x14], ebx
mov ebx, dword [ecx + edx*4]
mov edx, dword [esp + 0x14]
xor ebx, dword [edx + eax*4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 1
push 0x20ab
mov byte [0x8a47c9], bl
mov dword [0x8a40e4], ebx
call dword [sym.imp.WS2_32.dll_htons]
mov edi, 0x8a38b0
push eax
push 0x100007f
mov eax, ebx
call fcn.0045ac20
mov eax, dword [0x89e864]
mov cx, word [eax + 0x24548]
mov dx, word [eax + 0x1e9dc]
mov word [0x5fb7e0], dx
mov word [0x5fb7e8], cx
mov word [0x5fb7f0], dx
mov word [0x5fb7f8], cx
push 9
mov byte [eax + 0x2460c], 0
call fcn.00414340
mov ebx, dword [0x89ee08]
mov eax, dword [0x89e864]
add esp, 4
test ebx, ebx
mov dword [eax + 0x20340], 0xffffffff
je 0x4da004
call fcn.00408390
jmp 0x4da00e
push 0x8a5480
call fcn.00406390
mov ecx, dword [0x89e864]
mov edx, dword [ecx + 0x1ab3c]
mov dword [esp + 0x10], edx
call fcn.004d3720
mov edi, eax
lea ebx, [edi + 0x30]
push ebx
mov dword [esp + 0x2c], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [edi + 0x2c]
test al, al
je 0x4da043
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4da069
mov eax, dword [esp + 0x10]
mov edx, dword [edi + 0x24]
mov edi, dword [edi + 0x1c]
mov ecx, eax
shr ecx, 3
mov ebx, dword [edx + ecx*4]
mov edx, dword [edi + eax*4]
mov eax, dword [esp + 0x28]
push eax
xor ebx, edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
je 0x4da091
mov edx, dword [0x89e864]
mov eax, dword [edx + 0x1ab3c]
push 1
lea ecx, [esp + 0x10]
push ecx
push eax
mov byte [esp + 0x18], 0
call fcn.004d3720
mov esi, eax
call fcn.0040ae40
mov esi, dword [ebp + 0x10]
mov ebx, dword [0x89e864]
movzx ecx, byte [ebx + 0x245f1]
mov eax, dword [esp + 0x1c]
imul ecx, ecx, 0x31
mov edi, dword [ebp + 8]
mov edx, 0xffffffea
sub edx, ecx
sub edx, eax
add edi, edx
mov dword [ebp + 8], edi
xor eax, eax
mov byte [esp + 0xa0], 0
mov ecx, 0x3f
lea edi, [esp + 0xa1]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 8]
stosw word es:[edi], ax
stosb byte es:[edi], al
xor edx, edx
xor eax, eax
test ecx, ecx
mov dword [esp + 0x1c], edx
jle 0x4da13e
mov cl, byte [edx + esi]
cmp cl, 0xa
jne 0x4da12a
lea eax, [esp + 0xa0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4da0f2
push 1
push 0
sub eax, edx
push eax
lea eax, [esp + 0xac]
push eax
push 0
push 2
push ebx
xor eax, eax
call fcn.00423ee0
mov edx, dword [esp + 0x1c]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xa0]
rep stosd dword es:[edi], eax
jmp 0x4da132
mov byte [esp + eax + 0xa0], cl
inc eax
mov ecx, dword [ebp + 8]
inc edx
cmp edx, ecx
mov dword [esp + 0x1c], edx
jl 0x4da0e0
lea eax, [esp + 0xa0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4da148
push 1
push 0
sub eax, edx
push eax
lea ecx, [esp + 0xac]
push ecx
push 0
push 2
push ebx
xor eax, eax
call fcn.00423ee0
mov ecx, dword [esp + 0x5f4]
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
jne 0x4da235
mov edx, dword [esi + 8]
mov eax, dword [0x89e864]
push ecx
push 0x5fca9c
push 0x5fb1f4
mov dword [eax + edx*4 + 0x23e4c], ecx
push ecx
mov dword [esi + 8], 0xffffffff
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x4da1ea
mov dl, 1
push 0
mov cl, dl
lea esi, [esp + 0x4c]
call fcn.0044e720
push eax
call fcn.004d3b30
mov ecx, eax
call fcn.0044e8d0
push 0x31c
call fcn.0056ae19
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x5fc], 0x11
je 0x4da21b
push 1
push 0
push 0xc3507
push eax
call fcn.005122c0
jmp 0x4da21d
xor eax, eax
push eax
mov dword [esp + 0x600], 0xffffffff
call fcn.004d3b30
mov ecx, eax
call fcn.00406b20
mov ecx, dword [0x89e864]
add ecx, 0x1ab38
call fcn.00418340
test al, al
je case.default.0x4dc2d5
mov edi, dword [0x89e864]
add edi, 0x1ab38
xor al, al
call fcn.004182c0
mov ecx, dword [esp + 0x5f4]
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.0x4dc2d5
movzx ecx, byte [eax + 0x4dc57c]
jmp dword [ecx*4 + 0x4dc568]
mov edx, dword [ebp + 0x10]
cmp byte [edx], 0
je case.default.0x4dc2d5
push 0
push 0xc3500
push 0x8a3708
call fcn.0044ee40
mov esi, eax
call fcn.00414a90
jmp 0x4dc54e
push 0
push 0x5fca9c
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
mov dword [esp + 0x1c], eax
je case.default.0x4dc2d5
push 0
push 0x5fca24
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0xc8
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x4da323
push eax
call fcn.0050ae20
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne 0x4dc178
mov ecx, dword [0x89e864]
mov byte [ecx + 0x24480], 1
call fcn.004dd980
mov eax, dword [0x89e864]
add eax, 0x263a0
call fcn.0041bce0
mov eax, 0x8a38b0
call fcn.00459df0
mov ecx, dword [0x89e864]
mov ebx, dword [ebp + 0x10]
mov byte [ecx + 0x1aaa4], 0
movzx eax, byte [ebx + 2]
add ebx, 2
lea edi, [ecx + 0x1aaa8]
call fcn.00417f50
mov edi, dword [0x89e864]
movzx eax, byte [ebx]
add edi, 0x1aa9c
call fcn.00417f50
mov ecx, dword [0x89e864]
inc ebx
add ecx, 0x1aa9c
mov dword [ebp + 0x10], ebx
call fcn.00432f90
mov ebx, eax
mov eax, 0x8a38b0
call fcn.00459dc0
mov eax, dword [0x89e864]
lea ecx, [eax + 0x1aa9c]
lea ebx, [eax + 0x806d0]
call fcn.00432f90
mov edx, dword [0x89e864]
lea edi, [edx + eax*8 + 0x262f0]
mov ecx, ebx
call fcn.004a2700
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
call fcn.00432f90
mov edi, dword [0x89e864]
mov edx, dword [edi + 0x263c0]
lea ebx, [edi + 0x263a0]
inc edx
push eax
mov dword [ebx + 0x20], edx
call fcn.0041bd20
mov eax, dword [ebp + 0x10]
movzx ecx, word [eax]
mov dword [edi + 0x24548], ecx
mov byte [esi + 0x113], 2
xor ebx, ebx
mov word [esi + 0x114], bx
mov dword [esi + 0x11c], ebx
xor edx, edx
lea ecx, [edi + 0x24846]
mov dword [ecx], edx
mov dword [ecx + 4], edx
mov dl, byte [eax + 2]
add eax, 2
mov byte [edi + 0x245f0], dl
mov cl, byte [eax + 1]
inc eax
movzx edx, cl
inc eax
mov esi, eax
mov dword [ebp + 0x10], eax
mov ecx, edx
mov eax, ecx
shr ecx, 2
add edi, 0x2454c
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]
mov esi, dword [0x89e864]
add eax, edx
mov byte [esi + 0x245cc], bl
mov cl, byte [eax]
mov byte [esi + 0x245e0], cl
mov eax, dword [eax + 1]
lea edi, [esi + 0x245e4]
call fcn.00417f50
mov eax, dword [0x89e864]
lea ecx, [eax + 0x24619]
mov byte [eax + 0x245f1], 1
or edx, 0xffffffff
mov dword [ecx], edx
mov dword [ecx + 4], edx
lea ecx, [eax + 0x1aa9c]
xor esi, esi
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [eax + edx*4 + 0x24669]
mov dword [ecx], esi
mov dword [ecx + 4], esi
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], esi
mov dword [ecx + 0x10], esi
lea ecx, [eax + 0x1aa9c]
lea esi, [eax + 0x1a2d9]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea edi, [eax + edx*4 + 0x24669]
mov cl, byte [esi]
inc esi
mov byte [edi], cl
inc edi
cmp cl, bl
jne 0x4da4f2
lea ecx, [eax + 0x1aa9c]
lea esi, [eax + 0x2482c]
call fcn.00432f90
mov cl, byte [esi]
mov esi, dword [0x89e864]
mov byte [esi + eax*2 + 0x2482e], cl
lea ecx, [esi + 0x1aa9c]
lea edi, [esi + 0x2482d]
call fcn.00432f90
mov esi, dword [0x89e864]
mov dl, byte [edi]
lea ecx, [esi + 0x1aa9c]
mov byte [esi + eax*2 + 0x2482f], dl
call fcn.00432f90
mov ecx, dword [0x89e864]
mov byte [eax + ecx + 0x2483e], bl
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov byte [eax + ecx + 0x24846], 1
lea esi, [ecx + 0x1a2c0]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
lea edx, [ecx + eax*8]
lea edi, [eax + edx + 0x24621]
mov edi, edi
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
cmp al, bl
jne 0x4da590
add ecx, 0x1a318
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x24910], esi
lea esi, [ecx + 0x1a2ee]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x2484e], dx
lea esi, [ecx + 0x1a2f0]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x2485e], dx
add ecx, 0x1a300
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x248b0], esi
add ecx, 0x1a308
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x248d0], esi
add ecx, 0x1a310
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x248f0], esi
lea esi, [ecx + 0x1a2f2]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x2487e], dx
lea esi, [ecx + 0x1a2fc]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x2486e], dx
add ecx, 0x1a2f4
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x24890], esi
add ecx, 0x1aa54
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov word [ecx + eax*8 + 0x2476c], si
add ecx, 0x1aa5c
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov word [ecx + eax*8 + 0x2476e], si
add ecx, 0x1aa64
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov word [ecx + eax*8 + 0x24770], si
add ecx, 0x1aa6c
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov word [ecx + eax*8 + 0x24772], si
add ecx, 0x1aa74
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, eax
mov eax, dword [0x89e864]
shl ecx, 4
mov dword [ecx + eax + 0x247ac], esi
lea ecx, [eax + 0x1aa7c]
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov edx, eax
mov eax, dword [0x89e864]
add edx, 0x247b
shl edx, 4
lea ecx, [eax + 0x1aa84]
mov dword [edx + eax], esi
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, eax
mov eax, dword [0x89e864]
shl ecx, 4
mov dword [ecx + eax + 0x247b4], esi
lea ecx, [eax + 0x1aa8c]
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov edx, eax
mov eax, dword [0x89e864]
shl edx, 4
lea ecx, [eax + 0x1aa9c]
mov dword [edx + eax + 0x247b8], esi
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x255b0], ebx
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x255d0], ebx
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x262b0], ebx
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x262d0], ebx
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x26270], ebx
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x26290], ebx
xor esi, esi
mov edi, 0x1a460
mov edi, edi
lea ecx, [edi + ecx - 0xa0]
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov ebx, eax
call fcn.00432f90
lea eax, [eax + eax*4]
lea ecx, [esi + eax*4]
mov eax, dword [0x89e864]
mov dword [eax + ecx*4 + 0x24930], ebx
lea ecx, [edi + eax]
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov ebx, eax
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [esi + edx*4]
mov dword [eax + ecx*4 + 0x24bb0], ebx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [esi + edx*4]
lea ebx, [eax + ecx*4 + 0x24bb0]
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [esi + edx*4]
mov ecx, dword [eax + ecx*4 + 0x24930]
add ecx, dword [ebx]
mov dword [esp + 0x1c], ecx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [esi + edx*4]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 0x25330], edx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
mov ecx, dword [0x89e864]
lea ebx, [ecx + eax*4 + 0x255b0]
add ecx, 0x1aa9c
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [esi + edx*4]
mov edx, dword [eax + ecx*4 + 0x24930]
add dword [ebx], edx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
mov ecx, dword [0x89e864]
lea ebx, [ecx + eax*4 + 0x255d0]
add ecx, 0x1aa9c
call fcn.00432f90
lea eax, [eax + eax*4]
lea ecx, [esi + eax*4]
mov eax, dword [0x89e864]
mov edx, dword [eax + ecx*4 + 0x24bb0]
add dword [ebx], edx
lea ecx, [edi + eax + 0x280]
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov ebx, eax
call fcn.00432f90
lea eax, [eax + eax*4]
lea ecx, [esi + eax*4]
mov eax, dword [0x89e864]
mov dword [eax + ecx*4 + 0x255f0], ebx
lea ecx, [edi + eax + 0x320]
call fcn.00432f90
mov ebx, eax
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [esi + edx*4]
mov dword [eax + ecx*4 + 0x25870], ebx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [esi + edx*4]
lea ebx, [eax + ecx*4 + 0x25870]
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [esi + edx*4]
mov ecx, dword [eax + ecx*4 + 0x255f0]
add ecx, dword [ebx]
mov dword [esp + 0x1c], ecx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [esi + edx*4]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 0x25ff0], edx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
mov ecx, dword [0x89e864]
lea ebx, [ecx + eax*4 + 0x26270]
add ecx, 0x1aa9c
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [esi + edx*4]
mov edx, dword [eax + ecx*4 + 0x255f0]
add dword [ebx], edx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
mov ecx, dword [0x89e864]
lea ebx, [ecx + eax*4 + 0x26290]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
lea eax, [eax + eax*4]
lea edx, [esi + eax*4]
mov eax, dword [ecx + edx*4 + 0x25870]
mov edx, dword [ebx]
add edx, eax
add edi, 8
inc esi
cmp edi, 0x1a500
mov dword [ebx], edx
jl 0x4da900
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
lea esi, [ecx + eax*4 + 0x262b0]
add ecx, 0x1a96c
call fcn.00432f90
add dword [esi], eax
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
lea esi, [ecx + eax*4 + 0x262d0]
add ecx, 0x1a964
call fcn.00432f90
mov ebx, dword [esi]
push 0x257
push 0x31f
push 0
add ebx, eax
push 0
mov ecx, 0x92d668
mov dword [esi], ebx
mov byte [0x89ee21], 0
call fcn.0054e8c0
mov eax, dword [0x89e864]
mov cx, word [eax + 0x24548]
mov dx, word [eax + 0x1e9dc]
mov ebx, dword [0x89ee08]
test ebx, ebx
mov word [0x5fb7e0], dx
mov word [0x5fb7e8], cx
mov word [0x5fb7f0], dx
mov word [0x5fb7f8], cx
mov byte [eax + 0x2460c], 0
mov dword [eax + 0x20340], 0xffffffff
je 0x4dac37
call fcn.00408390
jmp 0x4dac41
push 0x8a5480
call fcn.00406390
mov ecx, dword [0x89e864]
mov al, byte [ecx + 0x80b24]
test al, al
jne case.default.0x4dc2d5
call fcn.004ddae0
mov ecx, dword [esp + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
mov ax, word [eax]
test ax, ax
jne 0x4db38f
mov eax, 0x8a38b0
call fcn.00459df0
mov edx, dword [0x89e864]
call fcn.00423e00
lea eax, [edx + 0x263a0]
call fcn.0041bce0
mov ebx, dword [ebp + 0x10]
lea eax, [edx + 0x24846]
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
movzx eax, byte [ebx + 2]
add ebx, 2
lea edi, [edx + 0x1aaa8]
call fcn.00417f50
mov edi, dword [0x89e864]
movzx eax, byte [ebx + 1]
inc ebx
add edi, 0x1aa9c
call fcn.00417f50
mov ecx, dword [0x89e864]
inc ebx
add ecx, 0x1aa9c
mov dword [ebp + 0x10], ebx
call fcn.00432f90
mov ebx, eax
mov eax, 0x8a38b0
call fcn.00459dc0
mov eax, dword [0x89e864]
mov edx, dword [ebp + 0x10]
movzx ecx, word [edx]
mov dword [eax + 0x24548], 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 + 0x2454c]
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 [eax + 0x245cc], 0
mov byte [ebx + eax + 0x2454c], 0
mov cl, byte [esi + ebx]
add esi, ebx
mov byte [eax + 0x245e0], cl
lea edi, [eax + 0x245e4]
xor eax, eax
mov dword [esp + 0x28], ebx
inc esi
call fcn.00417f50
mov edi, dword [0x89e864]
mov eax, dword [esi]
add edi, 0x245e4
call fcn.00417f50
mov edx, dword [esi + 4]
mov eax, dword [0x89e864]
add esi, 4
mov dword [eax + 0x24619], edx
mov ecx, dword [esi + 4]
add esi, 8
mov dword [eax + 0x2461d], ecx
mov dl, byte [esi]
inc esi
mov byte [eax + 0x245f0], dl
mov cl, byte [esi]
inc esi
test cl, cl
mov byte [eax + 0x245f1], cl
mov dword [esp + 0x10], 0
jbe 0x4db1e7
jmp 0x4dadd0
mov al, byte [esi]
mov ebx, dword [0x89e864]
mov ecx, dword [ebx + 0x263c0]
add ebx, 0x263a0
movzx edi, al
inc esi
inc ecx
push edi
mov dword [ebx + 0x20], ecx
call fcn.0041bd20
mov eax, dword [0x89e864]
xor edx, edx
lea ecx, [edi + edi*4]
shl ecx, 2
mov dword [esp + 0x1c], ecx
lea ecx, [ecx + eax + 0x24669]
mov ebx, ecx
mov dword [ebx], edx
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edx
mov edx, esi
mov ebx, dword [edx]
mov dword [ecx], ebx
mov ebx, dword [edx + 4]
mov dword [ecx + 4], ebx
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x1c]
mov byte [ecx + eax + 0x24675], 0
mov cl, byte [esi + 0xc]
add esi, 0xc
mov edx, dword [esi + 1]
test cl, cl
sete byte [esp + 0xc]
inc esi
mov dword [eax + edi*4 + 0x2470c], edx
mov cx, word [esi + 4]
add esi, 4
mov word [eax + edi*2 + 0x2474c], cx
mov edx, dword [esi + 2]
add esi, 2
mov dword [eax + edi*4 + 0x2472c], edx
mov cx, word [esi + 4]
add esi, 4
mov word [eax + edi*2 + 0x2475c], cx
mov dl, byte [esi + 2]
add esi, 2
mov byte [eax + edi*2 + 0x2482e], dl
mov cl, byte [esi + 1]
inc esi
mov byte [eax + edi*2 + 0x2482f], cl
mov dl, byte [esi + 1]
inc esi
lea ecx, [eax + 0x1aa9c]
mov byte [edi + eax + 0x2483e], dl
inc esi
call fcn.00432f90
cmp edi, eax
mov eax, dword [0x89e864]
jne 0x4daec0
mov cl, byte [edi + eax + 0x2483e]
mov byte [eax + 0x1aaa4], cl
mov dl, byte [esi]
mov byte [edi + eax + 0x24846], dl
mov edx, dword [esi + 1]
inc esi
lea ecx, [eax + edi*8]
add ecx, edi
mov dword [ecx + 0x24621], edx
mov edx, dword [esi + 4]
mov dword [ecx + 0x24625], edx
mov bl, byte [ecx + 0x24628]
mov dl, 0x80
test dl, bl
je 0x4daf04
lea ebx, [eax + edi*8 + 0x20578]
test byte [edi + ebx + 0x40af], dl
jne 0x4daf04
mov byte [ecx + 0x24628], 0
mov byte [ecx + 0x24629], 0
mov cx, word [esi + 8]
add esi, 8
add cx, 5
add esi, 2
mov word [eax + edi*2 + 0x2484e], cx
mov dx, word [esi]
add esi, 2
add dx, 5
mov word [eax + edi*2 + 0x2485e], dx
mov cx, word [esi]
add cx, 5
add esi, 2
mov word [eax + edi*2 + 0x2487e], cx
mov dx, word [esi]
add esi, 2
mov word [eax + edi*2 + 0x2486e], dx
movzx ecx, word [esi]
add esi, 2
mov dword [esp + 0x1c], ecx
mov dword [ebp + 0x10], esi
xor edx, edx
lea ecx, [edi*4]
lea esp, [esp]
cmp edx, 3
jne 0x4daf81
mov word [eax + ecx*2 + 0x24772], 0x8000
jmp 0x4daf9a
mov bl, byte [esp + 0xc]
neg bl
lea ecx, [ecx + edx + 0x123b6]
sbb ebx, ebx
and ebx, 0x8000
mov word [eax + ecx*2], bx
lea ecx, [edi*4]
lea ebx, [ecx + edx + 0x91eb]
inc edx
cmp edx, 4
mov dword [eax + ebx*4], 0
jl 0x4daf70
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x4db0fc
mov dword [esp + 0x1c], ecx
jmp 0x4dafd0
mov ebx, dword [esi]
cmp ebx, 0x31999
jle 0x4db099
cmp ebx, 0x34000
jge 0x4db099
lea ecx, [esp + 0x2a0]
call fcn.0040afa0
push ebx
lea edx, [esp + 0x2a4]
mov dword [esp + 0x600], 0
mov eax, dword [0x89e864]
push edx
push eax
mov al, 1
call fcn.0042efd0
movzx eax, byte [esp + 0x2a9]
dec eax
je 0x4db050
dec eax
jne 0x4db07b
mov eax, dword [0x89e864]
mov ecx, edi
shl ecx, 4
mov dword [ecx + eax + 0x247b4], ebx
cmp dword [0x89eddc], 3
mov byte [edi + eax + 0x26338], 1
je 0x4db07b
push edi
push eax
call fcn.00432090
jmp 0x4db07b
mov eax, dword [0x89e864]
mov ecx, dword [0x89eddc]
lea edx, [edi + 0x247b]
shl edx, 4
cmp ecx, 3
mov dword [edx + eax], ebx
mov byte [edi + eax + 0x26330], 1
je 0x4db07b
push edi
push eax
call fcn.00431f70
lea ecx, [esp + 0x2a0]
mov dword [esp + 0x5fc], 0xffffffff
call fcn.00413330
mov eax, dword [0x89e864]
jmp 0x4db0e7
mov ecx, ebx
sar ecx, 0x10
and cl, 0xf
and ebx, 0x7fff
cmp cl, 3
jne 0x4db0c3
or ebx, 0x8000
lea ecx, [edi*4]
mov word [eax + ecx*2 + 0x24772], bx
jmp 0x4db0e7
mov dl, byte [esp + 0xc]
neg dl
sbb edx, edx
and edx, 0x8000
or edx, ebx
movzx ebx, cl
lea ecx, [edi*4]
add ebx, ecx
mov word [eax + ebx*2 + 0x2476c], dx
mov ecx, dword [esp + 0x1c]
add esi, 4
dec ecx
mov dword [esp + 0x1c], ecx
jne 0x4dafd0
mov dword [ebp + 0x10], esi
mov eax, dword [eax + edi*8 + 0x262f4]
mov cl, byte [esi]
push 1
lea edx, [esp + 0x10]
push edx
push eax
mov byte [esp + 0x18], cl
call fcn.004d3720
mov esi, eax
call fcn.0040ae40
call fcn.0056ce40
cdq
mov ecx, 6
idiv ecx
mov ecx, dword [0x89e864]
mov eax, dword [ebp + 0x10]
inc eax
mov dword [ebp + 0x10], eax
push 1
mov dword [ecx + edi*4 + 0x26340], edx
movzx edx, byte [eax]
mov ecx, dword [ecx + edi*8 + 0x1aa18]
lea eax, [esp + 0x20]
push eax
push ecx
mov dword [esp + 0x28], edx
call fcn.004d3720
mov esi, eax
call fcn.0040ae40
mov ecx, dword [0x89e864]
mov eax, dword [ecx + edi*4 + 0x2472c]
xor edx, edx
mov dx, word [ecx + edi*2 + 0x2475c]
mov esi, edi
push edx
push eax
mov ax, word [ecx + edi*2 + 0x2474c]
mov ecx, dword [ecx + edi*4 + 0x2470c]
mov edx, 0x8a38b0
call fcn.00459eb0
mov ecx, dword [0x89e864]
mov eax, dword [ecx + edi*4 + 0x2472c]
xor edx, edx
mov dx, word [ecx + edi*2 + 0x2475c]
push edx
push eax
mov ax, word [ecx + edi*2 + 0x2474c]
mov ecx, dword [ecx + edi*4 + 0x2470c]
mov edx, 0x8a38b0
call fcn.00459eb0
mov ecx, dword [0x89e864]
mov eax, dword [esp + 0x10]
movzx edx, byte [ecx + 0x245f1]
mov esi, dword [ebp + 0x10]
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
jl 0x4dadd0
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
call fcn.00432f90
mov ebx, eax
mov eax, 0x8a38b0
call fcn.00459dc0
mov eax, dword [0x89e864]
mov cx, word [eax + 0x24548]
mov dx, word [eax + 0x1e9dc]
mov ebx, dword [0x89ee08]
test ebx, ebx
mov word [0x5fb7e0], dx
mov word [0x5fb7e8], cx
mov word [0x5fb7f0], dx
mov word [0x5fb7f8], cx
mov byte [eax + 0x2460c], 0
mov dword [eax + 0x20340], 0xffffffff
je 0x4db255
call fcn.00408390
jmp 0x4db25f
push 0x8a5480
call fcn.00406390
mov ecx, dword [0x89e864]
add ecx, 0x1ab38
call fcn.00418340
test al, al
je 0x4db287
mov edi, dword [0x89e864]
add edi, 0x1ab38
xor al, al
call fcn.004182c0
mov ebx, dword [0x89e864]
movzx eax, byte [ebx + 0x245f1]
mov edi, dword [esp + 0x28]
imul eax, eax, 0x31
mov edx, dword [ebp + 8]
mov ecx, 0xffffffea
sub ecx, eax
sub ecx, edi
add edx, ecx
xor eax, eax
mov byte [esp + 0xa0], 0
mov ecx, 0x3f
lea edi, [esp + 0xa1]
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 + 0x1c], edx
jle 0x4db334
mov cl, byte [edx + esi]
cmp cl, 0xa
jne 0x4db320
lea eax, [esp + 0xa0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4db2e8
push 1
push 0
sub eax, edx
push eax
lea edx, [esp + 0xac]
push edx
push 0
push 2
push ebx
xor eax, eax
call fcn.00423ee0
mov edx, dword [esp + 0x1c]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xa0]
rep stosd dword es:[edi], eax
jmp 0x4db328
mov byte [esp + eax + 0xa0], cl
inc eax
mov ecx, dword [ebp + 8]
inc edx
cmp edx, ecx
mov dword [esp + 0x1c], edx
jl 0x4db2d6
lea eax, [esp + 0xa0]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4db340
push 1
push 0
sub eax, edx
push eax
lea eax, [esp + 0xac]
push eax
push 0
push 2
push ebx
xor eax, eax
call fcn.00423ee0
mov al, byte [ebx + 0x80b24]
test al, al
mov byte [ebx + 0x24480], 1
jne 0x4db37e
call fcn.004ddae0
mov ebx, dword [0x89e864]
mov cl, byte [ebx + 0x245f1]
cmp cl, byte [ebx + 0x245f0]
jmp 0x4dc545
cmp ax, 0x1d
mov eax, dword [0x89e864]
jne 0x4db3af
mov edx, dword [esi + 8]
mov dword [eax + edx*4 + 0x23e4c], 0
mov dword [esi + 8], 0xffffffff
lea ecx, [eax + 0x1ab38]
jmp 0x4da241
push 0
push 0x5fca9c
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
mov dword [esp + 0x1c], eax
je case.default.0x4dc2d5
push 0
push 0x5fe768
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x22
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je case.default.0x4dc2d5
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne 0x4dc130
call fcn.004dd980
mov eax, dword [0x89e864]
add eax, 0x263a0
call fcn.0041bce0
mov eax, 0x8a38b0
call fcn.00459df0
mov edx, dword [0x89e864]
call fcn.00423e00
mov ebx, dword [ebp + 0x10]
mov byte [edx + 0x1aaa4], 0
movzx eax, byte [ebx + 2]
add ebx, 2
lea edi, [edx + 0x1aaa8]
call fcn.00417f50
mov edi, dword [0x89e864]
movzx eax, byte [ebx]
add edi, 0x1aa9c
call fcn.00417f50
mov ecx, dword [0x89e864]
inc ebx
add ecx, 0x1aa9c
mov dword [ebp + 0x10], ebx
call fcn.00432f90
mov ebx, eax
mov eax, 0x8a38b0
call fcn.00459dc0
mov eax, dword [0x89e864]
lea ecx, [eax + 0x1aa9c]
lea ebx, [eax + 0x806d0]
call fcn.00432f90
mov ecx, dword [0x89e864]
lea edi, [ecx + eax*8 + 0x262f0]
mov ecx, ebx
call fcn.004a2700
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
call fcn.00432f90
mov edi, dword [0x89e864]
mov edx, dword [edi + 0x263c0]
lea ebx, [edi + 0x263a0]
inc edx
push eax
mov dword [ebx + 0x20], edx
call fcn.0041bd20
mov eax, dword [ebp + 0x10]
movzx edx, word [eax]
add eax, 2
mov dword [edi + 0x24548], edx
mov dword [ebp + 0x10], eax
xor ebx, ebx
xor eax, eax
lea ecx, [edi + 0x24846]
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
lea ecx, [edx + 0x2454c]
mov edi, edi
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
cmp dl, bl
jne 0x4db540
lea edx, [esi + 0x93]
mov ecx, edi
sub ecx, edx
mov eax, edx
lea esi, [ecx + 0x245cc]
lea esp, [esp]
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
cmp cl, bl
jne 0x4db560
mov eax, edx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4db570
sub eax, edx
mov dword [esp + 0x10], eax
je 0x4db59b
mov esi, dword [0x89e77c]
cmp esi, ebx
je 0x4db59b
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edi, dword [0x89e864]
mov dword [esi + 0x368], eax
mov esi, dword [esp + 0x1c]
mov byte [edi + 0x245e0], bl
mov eax, dword [esi + 0x8c]
add edi, 0x245e4
call fcn.00417f50
mov dl, byte [esi + 0x90]
mov eax, dword [0x89e864]
mov byte [eax + 0x245f0], dl
or ecx, 0xffffffff
lea edx, [eax + 0x24619]
mov byte [eax + 0x245f1], 1
mov dword [edx], ecx
mov dword [edx + 4], ecx
lea ecx, [eax + 0x1aa9c]
lea esi, [eax + 0x1a2d9]
call fcn.00432f90
lea ecx, [eax + eax*4]
mov eax, dword [0x89e864]
lea edi, [eax + ecx*4 + 0x24669]
lea esp, [esp]
mov cl, byte [esi]
inc esi
mov byte [edi], cl
inc edi
cmp cl, bl
jne 0x4db600
lea ecx, [eax + 0x1aa9c]
lea esi, [eax + 0x2482c]
call fcn.00432f90
mov dl, byte [esi]
mov esi, dword [0x89e864]
lea ecx, [esi + 0x1aa9c]
mov byte [esi + eax*2 + 0x2482e], dl
lea edi, [esi + 0x2482d]
call fcn.00432f90
mov cl, byte [edi]
mov esi, dword [0x89e864]
mov byte [esi + eax*2 + 0x2482f], cl
lea ecx, [esi + 0x1aa9c]
call fcn.00432f90
mov ecx, dword [0x89e864]
mov byte [eax + ecx + 0x2483e], bl
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov byte [eax + ecx + 0x24846], 1
lea esi, [ecx + 0x1a2c0]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
lea edx, [ecx + eax*8]
lea edi, [eax + edx + 0x24621]
lea esp, [esp]
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
cmp al, bl
jne 0x4db6a0
add ecx, 0x1a318
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x24910], esi
lea esi, [ecx + 0x1a2ee]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x2484e], dx
lea esi, [ecx + 0x1a2f0]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x2485e], dx
add ecx, 0x1a300
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x248b0], esi
add ecx, 0x1a308
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x248d0], esi
add ecx, 0x1a310
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x248f0], esi
lea esi, [ecx + 0x1a2f2]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x2487e], dx
lea esi, [ecx + 0x1a2fc]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dx, word [esi]
mov word [ecx + eax*2 + 0x2486e], dx
add ecx, 0x1a2f4
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x24890], esi
add ecx, 0x1aa54
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov word [ecx + eax*8 + 0x2476c], si
add ecx, 0x1aa5c
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov word [ecx + eax*8 + 0x2476e], si
add ecx, 0x1aa64
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov word [ecx + eax*8 + 0x24770], si
add ecx, 0x1aa6c
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, dword [0x89e864]
mov word [ecx + eax*8 + 0x24772], si
add ecx, 0x1aa74
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, eax
mov eax, dword [0x89e864]
shl ecx, 4
mov dword [ecx + eax + 0x247ac], esi
lea ecx, [eax + 0x1aa7c]
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov edx, eax
mov eax, dword [0x89e864]
add edx, 0x247b
shl edx, 4
lea ecx, [eax + 0x1aa84]
mov dword [edx + eax], esi
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov ecx, eax
mov eax, dword [0x89e864]
shl ecx, 4
mov dword [ecx + eax + 0x247b4], esi
lea ecx, [eax + 0x1aa8c]
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov esi, eax
call fcn.00432f90
mov edx, eax
mov eax, dword [0x89e864]
shl edx, 4
lea ecx, [eax + 0x1aa9c]
mov dword [edx + eax + 0x247b8], esi
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x255b0], ebx
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x255d0], ebx
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x262b0], ebx
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x262d0], ebx
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x26270], ebx
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dword [ecx + eax*4 + 0x26290], ebx
xor edi, edi
mov esi, 0x1a460
mov edi, edi
lea ecx, [esi + ecx - 0xa0]
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov ebx, eax
call fcn.00432f90
lea eax, [eax + eax*4]
lea ecx, [edi + eax*4]
mov eax, dword [0x89e864]
mov dword [eax + ecx*4 + 0x24930], ebx
lea ecx, [esi + eax]
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov ebx, eax
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [edi + edx*4]
mov dword [eax + ecx*4 + 0x24bb0], ebx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [edi + edx*4]
lea ebx, [eax + ecx*4 + 0x24bb0]
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [edi + edx*4]
mov ecx, dword [eax + ecx*4 + 0x24930]
add ecx, dword [ebx]
mov dword [esp + 0x1c], ecx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [edi + edx*4]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 0x25330], edx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
mov ecx, dword [0x89e864]
lea ebx, [ecx + eax*4 + 0x255b0]
add ecx, 0x1aa9c
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [edi + edx*4]
mov edx, dword [eax + ecx*4 + 0x24930]
add dword [ebx], edx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
mov ecx, dword [0x89e864]
lea ebx, [ecx + eax*4 + 0x255d0]
add ecx, 0x1aa9c
call fcn.00432f90
lea eax, [eax + eax*4]
lea ecx, [edi + eax*4]
mov eax, dword [0x89e864]
mov edx, dword [eax + ecx*4 + 0x24bb0]
add dword [ebx], edx
lea ecx, [esi + eax + 0x280]
call fcn.00432f90
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov ebx, eax
call fcn.00432f90
lea eax, [eax + eax*4]
lea ecx, [edi + eax*4]
mov eax, dword [0x89e864]
mov dword [eax + ecx*4 + 0x255f0], ebx
lea ecx, [esi + eax + 0x320]
call fcn.00432f90
mov ebx, eax
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [edi + edx*4]
mov dword [eax + ecx*4 + 0x25870], ebx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [edi + edx*4]
lea ebx, [eax + ecx*4 + 0x25870]
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [edi + edx*4]
mov ecx, dword [eax + ecx*4 + 0x255f0]
add ecx, dword [ebx]
mov dword [esp + 0x1c], ecx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [edi + edx*4]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 0x25ff0], edx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
mov ecx, dword [0x89e864]
lea ebx, [ecx + eax*4 + 0x26270]
add ecx, 0x1aa9c
call fcn.00432f90
lea edx, [eax + eax*4]
mov eax, dword [0x89e864]
lea ecx, [edi + edx*4]
mov edx, dword [eax + ecx*4 + 0x255f0]
add dword [ebx], edx
lea ecx, [eax + 0x1aa9c]
call fcn.00432f90
mov ecx, dword [0x89e864]
lea ebx, [ecx + eax*4 + 0x26290]
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
lea eax, [eax + eax*4]
lea edx, [edi + eax*4]
mov eax, dword [ecx + edx*4 + 0x25870]
mov edx, dword [ebx]
add edx, eax
add esi, 8
inc edi
cmp esi, 0x1a500
mov dword [ebx], edx
jl 0x4dba10
add ecx, 0x1aa9c
call fcn.00432f90
mov ecx, dword [0x89e864]
lea esi, [ecx + eax*4 + 0x262b0]
add ecx, 0x1a96c
call fcn.00432f90
mov edx, dword [esi]
mov ecx, dword [0x89e864]
add edx, eax
add ecx, 0x1aa9c
mov dword [esi], edx
call fcn.00432f90
mov ecx, dword [0x89e864]
lea esi, [ecx + eax*4 + 0x262d0]
add ecx, 0x1a964
call fcn.00432f90
mov ecx, dword [esi]
push 0x257
push 0x31f
add ecx, eax
push 0
mov dword [esi], ecx
push 0
mov ecx, 0x92d668
mov byte [0x89ee21], 0
call fcn.0054e8c0
mov ecx, dword [0x89edf8]
mov eax, dword [0x89e864]
mov byte [ecx + 8], 0
mov cx, word [eax + 0x24548]
mov dx, word [eax + 0x1e9dc]
mov word [0x5fb7e0], dx
mov word [0x5fb7e8], cx
mov word [0x5fb7f0], dx
mov word [0x5fb7f8], cx
push 9
mov byte [eax + 0x2460c], 0
call fcn.00414340
mov ebx, dword [0x89ee08]
mov edx, dword [0x89e864]
add esp, 4
test ebx, ebx
mov dword [edx + 0x20340], 0xffffffff
je 0x4dbd65
call fcn.00408390
jmp 0x4dbd6f
push 0x8a5480
call fcn.00406390
mov edx, dword [ebp + 8]
mov esi, dword [0x89e864]
xor eax, eax
mov byte [esp + 0xa0], 0
mov ecx, 0x7f
lea edi, [esp + 0xa1]
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 0x4dbdfa
mov ecx, dword [ebp + 0x10]
mov cl, byte [ebx + ecx]
cmp cl, 0xa
jne 0x4dbdea
lea eax, [esp + 0xa0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4dbdb6
push 1
push 0
sub eax, edx
push eax
lea edx, [esp + 0xac]
push edx
push 0
push 2
push esi
xor eax, eax
call fcn.00423ee0
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa0]
rep stosd dword es:[edi], eax
jmp 0x4dbdf2
mov byte [esp + eax + 0xa0], cl
inc eax
mov ecx, dword [ebp + 8]
inc ebx
cmp ebx, ecx
jl 0x4dbda1
lea eax, [esp + 0xa0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4dbe04
push 1
sub eax, edx
xor ebx, ebx
push ebx
push eax
lea eax, [esp + 0xac]
push eax
push ebx
push 2
push esi
xor eax, eax
call fcn.00423ee0
lea ecx, [esi + 0x1aa94]
call fcn.00418340
mov ecx, dword [0x89e864]
add ecx, 0x1aa9c
mov byte [esp + 0xc], al
call fcn.00432f90
mov ecx, dword [0x89e864]
mov dl, byte [esp + 0xc]
lea edi, [ecx + 0x1aa04]
mov byte [eax + ecx + 0x806d8], dl
call fcn.004de070
mov eax, dword [0x89e864]
cmp dword [eax + 0x244f4], ebx
mov dword [esp + 0x24], ebx
jle case.default.0x4dc2d5
mov dword [esp + 0x14], ebx
jmp 0x4dbe80
mov ecx, dword [esp + 0x24]
cmp ecx, dword [eax + 0x244f4]
jae 0x4dc126
mov eax, dword [eax + 0x244f0]
mov edx, dword [esp + 0x14]
mov ebx, dword [eax + edx + 0x18]
add eax, edx
call fcn.004d3720
mov esi, eax
lea edi, [esi + 0x30]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [esi + 0x2c]
test al, al
push edi
je 0x4dbec4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4dc0e8
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x1c]
mov edx, ebx
shr edx, 3
mov esi, dword [eax + edx*4]
xor esi, dword [ecx + ebx*4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp esi, 0x320e6
jl 0x4dc0e8
cmp esi, 0x320f0
jge 0x4dc0e8
mov edx, dword [0x89e864]
mov eax, dword [edx + 0x1aa08]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x1c], eax
jle 0x4dbf45
lea esp, [esp]
mov eax, dword [0x89e864]
cmp ebx, dword [eax + 0x1aa08]
jae 0x4dc126
call fcn.004d3720
mov esi, eax
lea edi, [esi + 0x30]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [esi + 0x2c]
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, eax
jl 0x4dbf10
lea ecx, [esp + 0xa0]
push ecx
call fcn.004dc5e0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x5fc], 4
mov eax, dword [0x89e864]
cmp edx, dword [eax + 0x244f4]
jae 0x4dc126
mov eax, dword [eax + 0x244f0]
mov edx, dword [esp + 0x14]
mov ebx, dword [eax + edx + 0x18]
add eax, edx
call fcn.004d3720
mov esi, eax
lea edi, [esi + 0x30]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [esi + 0x2c]
test al, al
push edi
je 0x4dbfa2
mov esi, 1
jmp 0x4dbfb3
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x1c]
mov eax, ebx
shr eax, 3
mov esi, dword [ecx + eax*4]
xor esi, dword [edx + ebx*4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x228]
push 1
lea eax, [esp + 0x20]
push eax
add esi, 0xfffce302
push ecx
mov dword [esp + 0x28], esi
call fcn.004d3720
mov esi, eax
call fcn.0040ae40
mov eax, dword [0x89e864]
mov ebx, dword [esp + 0x24]
cmp ebx, dword [eax + 0x244f4]
jae 0x4dc126
mov eax, dword [eax + 0x244f0]
add eax, dword [esp + 0x14]
lea ecx, [eax + 0x14]
lea edi, [esp + 0x22c]
call fcn.00417f00
mov eax, dword [esp + 0x238]
push 1
lea edx, [esp + 0x20]
push edx
push eax
mov byte [esp + 0x248], 4
mov dword [esp + 0x28], 1
call fcn.004d3720
mov esi, eax
call fcn.0040ae40
mov eax, dword [0x89e864]
mov byte [esp + 0x220], 1
cmp ebx, dword [eax + 0x244f4]
jae 0x4dc126
mov eax, dword [eax + 0x244f0]
mov edx, dword [esp + 0x14]
mov ebx, dword [eax + edx + 0x18]
add eax, edx
call fcn.004d3720
mov esi, eax
lea edi, [esi + 0x30]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [esi + 0x2c]
test al, al
push edi
je 0x4dc080
mov esi, 1
jmp 0x4dc091
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x1c]
mov ecx, ebx
shr ecx, 3
mov esi, dword [edx + ecx*4]
xor esi, dword [eax + ebx*4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push str..img
add esi, 0xfffcdf26
push esi
lea ecx, [esp + 0x1e8]
push str.b_ready_item_03d_s
push ecx
call fcn.0056aefc
mov eax, dword [0x89e864]
add esp, 0x10
lea edx, [esp + 0xa0]
push edx
add eax, 0x1aa04
push eax
call fcn.004de0b0
lea ecx, [esp + 0xa0]
push ecx
mov dword [esp + 0x600], 0xffffffff
call fcn.00435620
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov eax, dword [0x89e864]
mov edx, dword [eax + 0x244f4]
inc ecx
add esi, 0x68
cmp ecx, edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], esi
jl 0x4dbe80
mov ecx, dword [esp + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x80070057
call fcn.004010c0
push 0
push 0x5fca9c
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x4dc178
mov dl, 1
push 0
mov cl, dl
lea esi, [esp + 0x4c]
call fcn.0044e720
push eax
call fcn.004d3b30
mov ecx, eax
call fcn.0044e8d0
mov edx, dword [esp + 0x1c]
push edx
call fcn.005184f0
mov ecx, dword [esp + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [0x89e864]
mov eax, dword [ebp + 0x10]
movzx esi, byte [ebx + 0x23e48]
mov cx, word [eax]
add eax, 2
xor edx, edx
test esi, esi
jle case.default.0x4dc2d5
movzx edi, cx
lea ecx, [ebx + 0x23e74]
cmp dword [ecx], edi
je 0x4dc1e5
inc edx
add ecx, 4
cmp edx, esi
jl 0x4dc1c2
mov ecx, dword [esp + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp edx, 0xffffffff
je case.default.0x4dc2d5
movzx esi, byte [eax]
inc eax
test esi, esi
mov dword [esp + 0x10], esi
jne 0x4dc218
mov dword [ebx + edx*4 + 0x23e4c], esi
mov ecx, dword [esp + 0x5f4]
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 + 0x23e4c], 1
mov edi, edx
shl edi, 7
test esi, esi
setl cl
mov dword [esp + 0x1c], edi
lea edi, [edi + ebx + 0x23e9c]
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 + 0x10]
mov esi, dword [esp + 0x1c]
add eax, ecx
lea edi, [esi + ecx]
mov esi, dword [0x89e864]
mov byte [edi + esi + 0x23e9c], 0
mov cl, byte [eax]
mov byte [edx + esi + 0x2439c], cl
mov ecx, dword [eax + 1]
inc eax
mov dword [esi + edx*4 + 0x243a8], ecx
mov cl, byte [eax + 4]
add eax, 4
inc eax
mov byte [edx + esi + 0x243d0], cl
mov cl, byte [eax]
inc eax
mov byte [edx + esi + 0x243e4], cl
mov cl, byte [eax]
inc eax
mov byte [edx + esi + 0x243ee], cl
mov cl, byte [eax]
mov byte [edx + esi + 0x243f8], cl
mov al, byte [eax + 1]
mov byte [edx + esi + 0x24402], al
jmp 0x4dc4b5
cmp eax, 0x3010
jg 0x4dc540
je 0x4dc4ff
sub eax, 0x21f1
cmp eax, 6
ja case.default.0x4dc2d5
jmp dword [eax*4 + 0x4dc590]
mov ecx, dword [ebp + 0x10]
mov si, word [ecx]
mov edi, dword [0x89e864]
mov ecx, edi
call fcn.00424760
cmp eax, 0xffffffff
je case.default.0x4dc2d5
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], eax
jne 0x4dc308
mov dword [ecx + 8], 0xffffffff
mov dword [edi + eax*4 + 0x23e4c], 0
jmp 0x4dc4b5
mov edi, dword [ebp + 0x10]
mov ecx, dword [0x89e864]
xor esi, esi
mov si, word [edi]
add edi, 2
call fcn.00424760
cmp eax, 0xffffffff
je case.default.0x4dc2d5
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], eax
jne 0x4dc347
mov dword [ecx + 8], 0xffffffff
mov edx, dword [ebp + 8]
mov esi, dword [0x89e864]
xor ebx, ebx
lea ecx, [edx - 2]
test ecx, ecx
setl bl
shl eax, 7
add eax, esi
mov esi, edi
lea edi, [eax + 0x23e9c]
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 + 0x23e9a], 0
jmp 0x4dc4b5
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x89e864]
xor esi, esi
mov si, word [edi]
mov ecx, ebx
add edi, 2
call fcn.00424760
cmp eax, 0xffffffff
je case.default.0x4dc2d5
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], eax
jne 0x4dc3b6
mov dword [ecx + 8], 0xffffffff
mov dl, byte [edi]
mov byte [eax + ebx + 0x2439c], dl
jmp 0x4dc4b5
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x89e864]
xor esi, esi
mov si, word [edi]
mov ecx, ebx
add edi, 2
call fcn.00424760
cmp eax, 0xffffffff
je case.default.0x4dc2d5
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], eax
jne 0x4dc3f5
mov dword [ecx + 8], 0xffffffff
mov ecx, dword [edi]
mov dword [ebx + eax*4 + 0x243a8], ecx
jmp 0x4dc4b5
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x89e864]
xor esi, esi
mov si, word [edi]
mov ecx, ebx
add edi, 2
call fcn.00424760
cmp eax, 0xffffffff
je case.default.0x4dc2d5
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], eax
jne 0x4dc434
mov dword [ecx + 8], 0xffffffff
mov dl, byte [edi]
mov byte [eax + ebx + 0x243e4], dl
jmp 0x4dc4b5
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x89e864]
xor esi, esi
mov si, word [edi]
mov ecx, ebx
add edi, 2
call fcn.00424760
cmp eax, 0xffffffff
je case.default.0x4dc2d5
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], eax
jne 0x4dc470
mov dword [ecx + 8], 0xffffffff
mov cl, byte [edi]
mov byte [eax + ebx + 0x243ee], cl
jmp 0x4dc4b5
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x89e864]
xor esi, esi
mov si, word [edi]
mov ecx, ebx
add edi, 2
call fcn.00424760
cmp eax, 0xffffffff
je case.default.0x4dc2d5
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], eax
jne 0x4dc4ac
mov dword [ecx + 8], 0xffffffff
mov dl, byte [edi]
mov byte [eax + ebx + 0x243f8], dl
push 0
push 0x5fca9c
push 0x5fb1f4
push 0
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je case.default.0x4dc2d5
mov edi, eax
call fcn.00518a00
mov ecx, dword [esp + 0x5f4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [0x89e77c]
test ecx, ecx
je case.default.0x4dc2d5
call fcn.00505840
mov esi, dword [ebp + 0x10]
movzx ecx, byte [esi]
call fcn.00504bc0
movzx edx, byte [esi]
mov eax, dword [0x89e864]
mov cl, 1
mov byte [edx + eax + 0x24846], cl
cmp byte [eax + 0x24480], cl
jne case.default.0x4dc2d5
mov cl, byte [eax + 0x245f1]
cmp cl, byte [eax + 0x245f0]
jmp 0x4dc545
cmp eax, 0x3432
jne case.default.0x4dc2d5
push 9
call fcn.00414340
add esp, 4
mov ecx, dword [esp + 0x5f4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc