Function at 0x4c6d40
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x7c
mov eax, 0x51c952
call fcn.00502a53
xor ebx, ebx
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x14], ebx
call fcn.004fedb0
mov dword [ebp - 4], ebx
xor eax, eax
inc eax
push eax
push 0xc
push 7
push ebx
mov ebx, dword [ebp + 8]
push eax
push 0x162f5
push ebx
call fcn.004c2b7f
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0
push eax
push 0xffffffffffffffff
push ebx
call fcn.004c2b7f
mov eax, dword [ebx + 8]
add eax, 0x1f8
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x5c]
add esp, 0x40
mov esi, eax
xor eax, eax
mov dword [ebp - 0x68], esi
inc eax
push eax
push 0xc
push eax
push eax
push eax
push 0x162f6
push ebx
call fcn.004c2b7f
push 0
push 0xc
push 0
xor edx, edx
push 2
inc edx
push edx
push 0x162f7
push ebx
call fcn.004c2b7f
mov eax, dword [esi]
push esi
call dword [eax + 0x5c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x44
xor eax, eax
inc eax
push eax
push 0x12
pop edi
push edi
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x64], esp
mov ecx, esp
push eax
call fcn.004fed56
xor eax, eax
inc eax
mov byte [ebp - 4], al
push ebx
mov byte [ebp - 4], 0
call fcn.004c2c28
push 0
push 0xc
push 0
xor eax, eax
push 2
inc eax
push eax
push 0x162f8
push ebx
call fcn.004c2b7f
add esp, 0x38
lea ecx, [ebp - 0x4c]
call fcn.004fedb0
mov byte [ebp - 4], 2
xor edx, edx
mov eax, dword [esi]
lea ecx, [ebp - 0x4c]
inc edx
push edx
push ecx
push esi
call dword [eax + 0x84]
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x14
xor eax, eax
inc eax
push eax
push edi
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x64], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 3
push ebx
mov byte [ebp - 4], 2
call fcn.004c2c28
push 0
push 0xc
push 0
xor eax, eax
push 2
inc eax
push eax
push 0x162f9
push ebx
call fcn.004c2b7f
mov eax, dword [esi]
push esi
call dword [eax + 0x3c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x44
xor eax, eax
inc eax
push eax
push edi
push 0
push 0x14
push eax
push ecx
mov ecx, esp
lea eax, [ebp - 0x10]
mov dword [ebp - 0x64], esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 4
push ebx
mov byte [ebp - 4], 2
call fcn.004c2c28
xor eax, eax
inc eax
push eax
push edi
push 0
push 0
push eax
push 0xffffffffffffffff
push ebx
call fcn.004c2b7f
xor eax, eax
inc eax
push eax
push 0xc
push eax
push eax
push eax
push 0x162fa
push ebx
call fcn.004c2b7f
add esp, 0x54
lea ecx, [ebp - 0x88]
call fcn.004ff41e
mov byte [ebp - 4], 5
mov eax, dword [esi]
push esi
call dword [eax + 0x98]
add eax, 8
push eax
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x80]
call dword [eax + 4]
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.004fedb0
mov byte [ebp - 4], 6
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004ff25c
push eax
call fcn.004ff256
add esp, 0x10
push eax
call fcn.004ff118
pop ecx
pop ecx
test eax, eax
je 0x4c6f67
lea eax, [ebp - 0x28]
push 0x53de38
push eax
call fcn.004fedc2
pop ecx
pop ecx
push 0
push 0xc
push 0
xor eax, eax
push 2
inc eax
push eax
push 0x162fb
push ebx
call fcn.004c2b7f
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x24
lea ecx, [ebp - 0x48]
call fcn.004fedb0
mov byte [ebp - 4], 7
xor edx, edx
mov eax, dword [esi]
lea ecx, [ebp - 0x48]
inc edx
push edx
push ecx
push esi
call dword [eax + 0x88]
push 0x162fc
lea eax, [ebp - 0x38]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x50]
push 0x54551c
push eax
call fcn.004fedda
mov byte [ebp - 4], 9
push 0x54551c
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.004ff124
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x48]
push ecx
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.004ff11e
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fedce
add esp, 0x44
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x58]
call fcn.004fed5c
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x54]
call fcn.004fed5c
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x50]
call fcn.004fed5c
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push edi
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x64], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0xc
push ebx
mov byte [ebp - 4], 7
call fcn.004c2c28
add esp, 0x1c
lea ecx, [ebp - 0x78]
call fcn.004ff41e
mov byte [ebp - 4], 0xd
mov eax, dword [esi]
push esi
call dword [eax + 0x9c]
add eax, 8
push eax
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x70]
call dword [eax + 4]
add esp, 0xc
lea ecx, [ebp - 0x24]
call fcn.004fedb0
mov byte [ebp - 4], 0xe
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004ff25c
push eax
call fcn.004ff256
add esp, 0x10
push eax
call fcn.004ff118
pop ecx
pop ecx
test eax, eax
je 0x4c70c9
lea eax, [ebp - 0x24]
push 0x53de38
push eax
call fcn.004fedc2
pop ecx
pop ecx
push 0
push 0xc
push 0
xor eax, eax
push 2
inc eax
push eax
push 0x162fd
push ebx
call fcn.004c2b7f
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x24
lea ecx, [ebp - 0x44]
call fcn.004fedb0
mov byte [ebp - 4], 0xf
xor edx, edx
mov eax, dword [esi]
lea ecx, [ebp - 0x44]
inc edx
push edx
push ecx
push esi
call dword [eax + 0x8c]
push 0x162fc
lea eax, [ebp - 0x38]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x10
mov edi, 0x54551c
push eax
lea eax, [ebp - 0x50]
push edi
push eax
call fcn.004fedda
mov byte [ebp - 4], 0x11
push edi
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.004ff124
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x44]
push ecx
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.004ff11e
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fedce
add esp, 0x44
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x58]
call fcn.004fed5c
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x54]
call fcn.004fed5c
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x50]
call fcn.004fed5c
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x38]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x64], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x14
push ebx
mov byte [ebp - 4], 0xf
call fcn.004c2c28
push 0
push 0xc
push 0
xor eax, eax
push 2
inc eax
push eax
push 0x162fe
push ebx
call fcn.004c2b7f
add esp, 0x38
lea ecx, [ebp - 0x40]
call fcn.004fedb0
mov byte [ebp - 4], 0x15
xor edx, edx
mov eax, dword [esi]
lea ecx, [ebp - 0x40]
inc edx
push edx
push ecx
push esi
call dword [eax + 0x90]
add esp, 0xc
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x40]
mov dword [ebp - 0x64], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x16
push ebx
mov byte [ebp - 4], 0x15
call fcn.004c2c28
mov eax, dword [ebx + 8]
add eax, 0x1f8
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov edi, eax
push edi
mov dword [ebp - 0x58], edi
mov ecx, dword [edi]
call dword [ecx + 0x78]
mov ecx, dword [edi]
push edi
mov dword [ebp - 0x50], eax
call dword [ecx + 0x6c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c4]
mov ecx, dword [edi]
push edi
mov dword [ebp - 0x30], eax
call dword [ecx + 0x6c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1cc]
mov ecx, dword [edi]
mov dword [ebp - 0x34], eax
push edi
call dword [ecx + 0x70]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [edi]
push edi
mov dword [ebp - 0x60], eax
call dword [ecx + 0x6c]
add esp, 0x40
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c8]
mov ecx, dword [edi]
push edi
mov dword [ebp - 0x64], eax
call dword [ecx + 0x1ec]
pop ecx
pop ecx
lea ecx, [ebp - 0x18]
mov esi, eax
call fcn.004fedb0
mov byte [ebp - 4], 0x17
xor edx, edx
inc edx
lea eax, [esi + 1]
mov dword [ebp - 0x54], eax
mov ecx, edx
mov dword [ebp - 0x2c], ecx
cmp eax, edx
jb 0x4c734a
mov ebx, dword [ebp - 0x30]
jmp 0x4c72b7
xor edx, edx
inc edx
lea eax, [ebp - 0x18]
push str.Key_Objects
push eax
cmp cx, dx
jne 0x4c72ce
call fcn.004fedc2
pop ecx
pop ecx
jmp 0x4c72e2
call fcn.004fedc2
push dword [ebp - 0x2c]
lea eax, [ebp - 0x18]
push eax
call fcn.004ff2fe
add esp, 0x10
mov eax, dword [edi]
push edi
call dword [eax + 0x6c]
xor esi, esi
lea edx, [ebp - 0x18]
inc esi
push esi
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x34]
add esp, 0x10
test al, al
je 0x4c7331
mov eax, dword [edi]
push edi
call dword [eax + 0x6c]
push esi
lea edx, [ebp - 0x18]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov ecx, dword [edi]
mov esi, eax
push edi
dec ebx
call dword [ecx + 0x6c]
push 0
push 0
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20c]
mov ecx, dword [ebp - 0x34]
add esp, 0x24
sub ecx, dword [eax + 0x10]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x2c]
inc ecx
movzx eax, cx
mov dword [ebp - 0x2c], ecx
cmp eax, dword [ebp - 0x54]
jbe 0x4c72b4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x50]
and dword [ebp - 0x2c], 0
and dword [ebp - 0x38], 0
push 2
mov eax, dword [esi]
push esi
call dword [eax + 0x114]
mov ecx, dword [esi]
push 0
push esi
mov dword [ebp - 0x54], eax
call dword [ecx + 0x118]
add esp, 0x10
mov dword [ebp - 0x5c], eax
xor esi, esi
test eax, eax
jle 0x4c73aa
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + esi*4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x54]
pop ecx
test al, al
je 0x4c7397
inc edi
jmp 0x4c7398
inc ebx
inc esi
cmp esi, dword [ebp - 0x5c]
jl 0x4c7380
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x58]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x50]
push dword [ebp - 0x54]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x11c]
mov eax, dword [edi]
push edi
call dword [eax + 0x74]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov ecx, dword [edi]
mov esi, eax
push edi
call dword [ecx + 0x80]
xor edx, edx
inc edx
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
push 0
push 0xc
mov edi, eax
xor eax, eax
push 0
push 2
inc eax
push eax
push 0x162ff
push ebx
call fcn.004c2b7f
push 0x16300
lea eax, [ebp - 0x5c]
push eax
push ebx
call fcn.004c8b4c
add esp, 0x44
mov byte [ebp - 4], 0x18
push dword [eax]
lea eax, [ebp - 0x10]
push dword [ebp - 0x30]
push str._u__s
push eax
call fcn.004fee28
add esp, 0x10
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x5c]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x5c], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x19
push ebx
mov byte [ebp - 4], 0x17
call fcn.004c2c28
push 0x16301
lea eax, [ebp - 0x5c]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x1a
push dword [eax]
lea eax, [ebp - 0x10]
push dword [ebp - 0x34]
push str._u__s
push eax
call fcn.004fee28
add esp, 0x38
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x5c]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x5c], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x1b
push ebx
mov byte [ebp - 4], 0x17
call fcn.004c2c28
push 0x16302
lea eax, [ebp - 0x5c]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x1c
push dword [eax]
lea eax, [ebp - 0x10]
push dword [ebp - 0x2c]
push str._u__s
push eax
call fcn.004fee28
add esp, 0x38
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x5c]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x5c], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x1d
push ebx
mov byte [ebp - 4], 0x17
call fcn.004c2c28
push 0x16303
lea eax, [ebp - 0x5c]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x1e
push dword [eax]
lea eax, [ebp - 0x10]
push dword [ebp - 0x38]
push str._u__s
push eax
call fcn.004fee28
add esp, 0x38
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x5c]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x5c], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x1f
push ebx
mov byte [ebp - 4], 0x17
call fcn.004c2c28
push 0x16304
lea eax, [ebp - 0x5c]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x20
push dword [eax]
lea eax, [ebp - 0x10]
push dword [ebp - 0x60]
push str._u__s
push eax
call fcn.004fee28
add esp, 0x38
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x5c]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x60], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x21
push ebx
mov byte [ebp - 4], 0x17
call fcn.004c2c28
push 0x16305
lea eax, [ebp - 0x60]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x22
push dword [eax]
lea eax, [ebp - 0x10]
push esi
mov esi, str._u__s
push esi
push eax
call fcn.004fee28
add esp, 0x38
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x60]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x60], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x23
push ebx
mov byte [ebp - 4], 0x17
call fcn.004c2c28
push 0x16306
lea eax, [ebp - 0x60]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x24
push dword [eax]
lea eax, [ebp - 0x10]
push edi
push esi
push eax
call fcn.004fee28
add esp, 0x38
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x60]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x14
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x60], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x25
push ebx
mov byte [ebp - 4], 0x17
call fcn.004c2c28
push 0x16347
lea eax, [ebp - 0x60]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x26
push dword [eax]
lea eax, [ebp - 0x10]
push dword [ebp - 0x64]
push esi
push eax
call fcn.004fee28
add esp, 0x38
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x60]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x14
pop esi
push esi
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x64], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x27
push ebx
mov byte [ebp - 4], 0x17
call fcn.004c2c28
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0
push eax
push 0xffffffffffffffff
push ebx
call fcn.004c2b7f
xor eax, eax
inc eax
push eax
push 0xc
push eax
push eax
push eax
push 0x16307
push ebx
call fcn.004c2b7f
add esp, 0x54
lea ecx, [ebp - 0x3c]
call fcn.004fedb0
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x3c]
push eax
push dword [ebx + 8]
call fcn.0045157b
push 0
push 0xc
push 0
xor eax, eax
push 2
inc eax
push eax
push 0x16308
push ebx
call fcn.004c2b7f
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x2c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push esi
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x64], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x29
push ebx
mov byte [ebp - 4], 0x28
call fcn.004c2c28
add esp, 0x1c
lea ecx, [ebp - 0x20]
call fcn.004fedb0
mov byte [ebp - 4], 0x2a
xor edx, edx
mov edi, dword [ebp - 0x68]
lea ecx, [ebp - 0x20]
inc edx
push edx
push ecx
mov eax, dword [edi]
push edi
call dword [eax + 0xb8]
lea eax, [ebp - 0x20]
push eax
call fcn.004fedbc
add esp, 0x10
test al, al
je 0x4c77c7
push 0x78a5
lea eax, [ebp - 0x68]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x2b
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004fed62
add esp, 0x14
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x68]
call fcn.004fed5c
push 0
push 0xc
push 0
xor eax, eax
push 2
inc eax
push eax
push 0x163bf
push ebx
call fcn.004c2b7f
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x24
xor eax, eax
inc eax
push eax
push 0x12
push 0
push esi
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x68], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x2c
push ebx
mov byte [ebp - 4], 0x2a
call fcn.004c2c28
add esp, 0x1c
lea ecx, [ebp - 0x1c]
call fcn.004fedb0
mov byte [ebp - 4], 0x2d
xor edx, edx
mov eax, dword [edi]
lea ecx, [ebp - 0x1c]
inc edx
push edx
push ecx
push edi
call dword [eax + 0xb4]
lea eax, [ebp - 0x1c]
push eax
call fcn.004fedbc
add esp, 0x10
test al, al
je 0x4c7871
push 0x162b6
lea eax, [ebp - 0x68]
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x2e
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004fed62
add esp, 0x14
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x68]
call fcn.004fed5c
push 0
push 0xc
push 0
xor eax, eax
push 2
inc eax
push eax
push 0x163c0
push ebx
call fcn.004c2b7f
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x24
xor eax, eax
inc eax
push eax
push 0x12
push 0
push esi
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x68], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x2f
push ebx
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0
push eax
push 0xffffffffffffffff
push ebx
call fcn.004c2b7f
xor eax, eax
inc eax
push eax
push 0xc
push eax
push eax
push eax
push 0x1630a
push ebx
call fcn.004c2b7f
add esp, 0x54
xor eax, eax
inc eax
push 0
push 0xc
push 0
push 2
push eax
push 0x1630b
push ebx
call fcn.004c2b7f
mov eax, dword [edi]
push edi
call dword [eax + 0xe0]
add esp, 0x20
mov esi, 0x1630d
test al, al
lea eax, [ebp - 0x68]
je 0x4c794b
push 0x1630c
push eax
push ebx
call fcn.004c8b4c
add esp, 0xc
mov byte [ebp - 4], 0x30
push dword [eax]
mov eax, dword [edi]
push edi
call dword [eax + 0xa4]
pop ecx
push eax
lea eax, [ebp - 0x10]
push str._u_s
push eax
call fcn.004fee28
add esp, 0x10
jmp 0x4c7964
push esi
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x31
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x14
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x68]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x2c
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x68], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x32
push ebx
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
push 0
push 0xc
push 0
xor eax, eax
push 2
inc eax
push eax
push 0x1630e
push ebx
call fcn.004c2b7f
mov eax, dword [edi]
push edi
call dword [eax + 0xe4]
add esp, 0x3c
test al, al
lea eax, [ebp - 0x68]
je 0x4c79f5
push 0x1630f
push eax
push ebx
call fcn.004c8b4c
add esp, 0xc
mov byte [ebp - 4], 0x33
push dword [eax]
mov eax, dword [edi]
push edi
call dword [eax + 0xac]
pop ecx
push eax
lea eax, [ebp - 0x10]
push str._u_s
push eax
call fcn.004fee28
add esp, 0x10
jmp 0x4c7a0e
push esi
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x34
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x14
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x68]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x2c
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x68], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x35
push ebx
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
push 0
push 0xc
push 0
xor eax, eax
push 2
inc eax
push eax
push 0x16310
push ebx
call fcn.004c2b7f
mov eax, dword [edi]
push edi
call dword [eax + 0xa0]
push 0x3c
pop ecx
cdq
idiv ecx
mov ecx, dword [edi]
push edi
mov esi, eax
call dword [ecx + 0xe8]
add esp, 0x40
test al, al
lea eax, [ebp - 0x68]
je 0x4c7aa3
push 0x16311
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x36
push dword [eax]
lea eax, [ebp - 0x10]
push esi
push str._u_s
push eax
call fcn.004fee28
add esp, 0x1c
jmp 0x4c7ac0
push 0x1630d
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x37
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x14
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x68]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x2c
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x68], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x38
push ebx
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
mov eax, dword [edi]
push edi
call dword [eax + 0xa8]
push 0x3c
pop ecx
cdq
idiv ecx
push 0
push 0xc
mov esi, eax
xor eax, eax
push 0
push 2
inc eax
push eax
push 0x16312
push ebx
call fcn.004c2b7f
mov eax, dword [edi]
push edi
call dword [eax + 0xec]
add esp, 0x40
test al, al
lea eax, [ebp - 0x68]
je 0x4c7b55
push 0x16313
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x39
push dword [eax]
lea eax, [ebp - 0x10]
push esi
push str._u_s
push eax
call fcn.004fee28
add esp, 0x1c
jmp 0x4c7b72
push 0x1630d
push eax
push ebx
call fcn.004c8b4c
mov byte [ebp - 4], 0x3a
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0x14
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x68]
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x2c
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x68], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x3b
push ebx
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0
push eax
push 0xffffffffffffffff
push ebx
call fcn.004c2b7f
xor eax, eax
inc eax
push eax
push 0xc
push eax
push eax
push eax
push 0x16314
push ebx
call fcn.004c2b7f
add esp, 0x54
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 2
push eax
push 0x16315
push ebx
call fcn.004c2b7f
push 0
push 0xc
push 0
xor eax, eax
push 3
inc eax
push eax
push 0x16316
push ebx
call fcn.004c2b7f
mov eax, dword [edi]
push edi
call dword [eax + 0xc0]
add esp, 0x3c
test al, al
je 0x4c7c2c
push 0x16317
lea eax, [ebp - 0x64]
push eax
push ebx
call fcn.004c8b4c
add esp, 0xc
push 0x3c
pop ecx
mov byte [ebp - 4], cl
xor edx, edx
lea ebx, [edx + 1]
jmp 0x4c7c48
push 0x16318
lea eax, [ebp - 0x68]
push eax
push ebx
call fcn.004c8b4c
add esp, 0xc
mov dword [ebp - 4], 0x3d
push 2
pop ebx
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], ebx
push eax
call fcn.004fed62
pop ecx
pop ecx
push 0x3c
pop eax
mov dword [ebp - 4], eax
test bl, 2
je 0x4c7c70
and ebx, 0xfffffffd
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
mov dword [ebp - 4], 0x2d
test bl, 1
je 0x4c7c8a
and ebx, 0xfffffffe
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x2c
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x68], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x3e
mov esi, dword [ebp + 8]
push esi
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
push 0
push 0xc
push 0
xor eax, eax
push 3
inc eax
push eax
push 0x16319
push esi
call fcn.004c2b7f
mov eax, dword [edi]
push edi
call dword [eax + 0xc4]
add esp, 0x3c
test al, al
je 0x4c7cf7
push 0x16317
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov byte [ebp - 4], 0x3f
or ebx, 4
jmp 0x4c7d13
push 0x16318
lea eax, [ebp + 8]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov dword [ebp - 4], 0x40
or ebx, 8
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], ebx
push eax
call fcn.004fed62
pop ecx
pop ecx
mov dword [ebp - 4], 0x3f
test bl, 8
je 0x4c7d3c
and ebx, 0xfffffff7
lea ecx, [ebp + 8]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
mov dword [ebp - 4], 0x2d
test bl, 4
je 0x4c7d56
and ebx, 0xfffffffb
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x2c
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp + 8], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x41
push esi
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
push 0
push 0xc
push 0
xor eax, eax
push 3
inc eax
push eax
push 0x1631a
push esi
call fcn.004c2b7f
mov eax, dword [edi]
push edi
call dword [eax + 0xd8]
add esp, 0x3c
test al, al
je 0x4c7dc0
push 0x16317
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov byte [ebp - 4], 0x42
or ebx, 0x10
jmp 0x4c7ddc
push 0x16318
lea eax, [ebp + 8]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov dword [ebp - 4], 0x43
or ebx, 0x20
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], ebx
push eax
call fcn.004fed62
pop ecx
pop ecx
mov dword [ebp - 4], 0x42
test bl, 0x20
je 0x4c7e05
and ebx, 0xffffffdf
lea ecx, [ebp + 8]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
mov dword [ebp - 4], 0x2d
test bl, 0x10
je 0x4c7e1f
and ebx, 0xffffffef
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x2c
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp + 8], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x44
push esi
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
push 0
push 0xc
push 0
xor eax, eax
push 3
inc eax
push eax
push 0x1631b
push esi
call fcn.004c2b7f
mov eax, dword [edi]
push edi
call dword [eax + 0xdc]
add esp, 0x3c
test al, al
je 0x4c7e89
push 0x1631c
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov byte [ebp - 4], 0x45
or ebx, 0x40
jmp 0x4c7ea8
push 0x1631d
lea eax, [ebp + 8]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov dword [ebp - 4], 0x46
or ebx, 0x80
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], ebx
push eax
call fcn.004fed62
pop ecx
pop ecx
mov dword [ebp - 4], 0x45
test bl, bl
jns 0x4c7ed3
and ebx, 0xffffff7f
lea ecx, [ebp + 8]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
mov dword [ebp - 4], 0x2d
test bl, 0x40
je 0x4c7eed
and ebx, 0xffffffbf
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x2c
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp + 8], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x47
push esi
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 2
push eax
push 0x1631e
push esi
call fcn.004c2b7f
push 0
push 0xc
push 0
xor eax, eax
push 3
inc eax
push eax
push 0x1631f
push esi
call fcn.004c2b7f
mov eax, dword [edi]
add esp, 0x54
push edi
call dword [eax + 0xcc]
pop ecx
test al, al
je 0x4c7f71
push 0x16317
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov byte [ebp - 4], 0x48
or ebx, 0x100
jmp 0x4c7f90
push 0x16318
lea eax, [ebp + 8]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov dword [ebp - 4], 0x49
or ebx, 0x200
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], ebx
push eax
call fcn.004fed62
pop ecx
pop ecx
mov dword [ebp - 4], 0x48
test ebx, 0x200
je 0x4c7fbf
and ebx, 0xfffffdff
lea ecx, [ebp + 8]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
mov dword [ebp - 4], 0x2d
test ebx, 0x100
je 0x4c7fdf
and ebx, 0xfffffeff
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x2c
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp + 8], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x4a
push esi
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
push 0
push 0xc
push 0
xor eax, eax
push 3
inc eax
push eax
push 0x16320
push esi
call fcn.004c2b7f
mov eax, dword [edi]
push edi
call dword [eax + 0xd0]
add esp, 0x3c
test al, al
je 0x4c804c
push 0x16317
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov byte [ebp - 4], 0x4b
or ebx, 0x400
jmp 0x4c806b
push 0x16318
lea eax, [ebp + 8]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov dword [ebp - 4], 0x4c
or ebx, 0x800
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], ebx
push eax
call fcn.004fed62
pop ecx
pop ecx
mov dword [ebp - 4], 0x4b
test ebx, 0x800
je 0x4c809a
and ebx, 0xfffff7ff
lea ecx, [ebp + 8]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
mov dword [ebp - 4], 0x2d
test ebx, 0x400
je 0x4c80ba
and ebx, 0xfffffbff
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x2c
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp + 8], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x4d
push esi
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
push 0
push 0xc
push 0
xor eax, eax
push 3
inc eax
push eax
push 0x16321
push esi
call fcn.004c2b7f
mov eax, dword [edi]
push edi
call dword [eax + 0xd4]
add esp, 0x3c
mov edi, 0x2000
test al, al
je 0x4c812c
push 0x16317
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov byte [ebp - 4], 0x4e
or ebx, 0x1000
jmp 0x4c8147
push 0x16318
lea eax, [ebp + 8]
push eax
push esi
call fcn.004c8b4c
add esp, 0xc
mov dword [ebp - 4], 0x4f
or ebx, edi
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], ebx
push eax
call fcn.004fed62
pop ecx
pop ecx
mov dword [ebp - 4], 0x4e
test edi, ebx
je 0x4c8172
and ebx, 0xffffdfff
lea ecx, [ebp + 8]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
mov dword [ebp - 4], 0x2d
test ebx, 0x1000
je 0x4c8192
and ebx, 0xffffefff
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x14], ebx
call fcn.004fed5c
xor ebx, ebx
lea eax, [ebp - 0x10]
inc ebx
push ebx
push 0x12
push 0
push 0x2c
push ebx
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x50
push esi
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
push ebx
push 0x12
push 0
push 0
push ebx
push 0xffffffffffffffff
push esi
call fcn.004c2b7f
push ebx
push 0xc
push ebx
push ebx
push ebx
push 0x16322
push esi
call fcn.004c2b7f
mov edi, dword [ebp - 0x58]
add esp, 0x54
mov eax, dword [edi]
push edi
call dword [eax + 0x1ec]
xor ebx, ebx
mov dword [ebp + 8], eax
pop ecx
test eax, eax
je 0x4c824e
mov ecx, dword [edi]
push ebx
push edi
call dword [ecx + 0x1f0]
pop ecx
pop ecx
test eax, eax
je 0x4c8242
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004fed62
add esp, 0xc
xor eax, eax
inc eax
push eax
push 0x12
push 0
push 0x24
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x68], esp
mov ecx, esp
push eax
call fcn.004fed56
mov byte [ebp - 4], 0x51
push esi
mov byte [ebp - 4], 0x2d
call fcn.004c2c28
add esp, 0x1c
mov eax, dword [ebp + 8]
inc ebx
cmp ebx, eax
jb 0x4c81f4
test eax, eax
jne 0x4c8269
xor ebx, ebx
inc ebx
push ebx
push 0x12
push 0
push 2
push ebx
push 0x16323
push esi
call fcn.004c2b7f
add esp, 0x1c
jmp 0x4c826c
xor ebx, ebx
inc ebx
push ebx
push 0x12
push 0
push 0
push ebx
push 0xffffffffffffffff
push esi
call fcn.004c2b7f
add esp, 0x1c
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x1c]
call fcn.004fed5c
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x20]
call fcn.004fed5c
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x3c]
call fcn.004fed5c
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x18]
call fcn.004fed5c
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x40]
call fcn.004fed5c
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x44]
call fcn.004fed5c
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x24]
call fcn.004fed5c
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x78]
call fcn.0042d51b
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x48]
call fcn.004fed5c
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x28]
call fcn.004fed5c
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88]
call fcn.0042d51b
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4c]
call fcn.004fed5c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.004fed5c
call fcn.00502a1c
ret