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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4f3435
push eax
mov dword fs:[0], esp
sub esp, 0x208
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
push esi
push edi
mov ecx, dword [ebp + 0x18]
cmp ecx, ebx
je 0x4c38f6
call fcn.004c8710
cmp eax, 7
je 0x4c210a
mov al, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], al
call fcn.004019e0
mov edi, 0x512a68
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x512a68
lea ecx, [esp + 0x4c]
call fcn.00404080
mov cl, byte [esp + 0x12]
push ebx
mov byte [esp + 0x34], cl
lea ecx, [esp + 0x34]
mov dword [esp + 0x224], ebx
call fcn.004019e0
mov edi, 0x512a68
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x512a68
lea ecx, [esp + 0x38]
call fcn.00404080
mov dl, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
mov byte [esp + 0x58], dl
call fcn.004019e0
mov edi, 0x512a68
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x512a68
lea ecx, [esp + 0x5c]
call fcn.00404080
mov al, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
mov byte [esp + 0x88], al
call fcn.004019e0
mov edi, 0x512a68
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x512a68
lea ecx, [esp + 0x8c]
call fcn.00404080
lea ecx, [esp + 0x1c]
mov byte [esp + 0x220], 3
push ecx
mov ecx, dword [ebp + 0x18]
mov byte [esp + 0x17], 1
mov byte [esp + 0x18], 0xff
mov byte [esp + 0x1c], 0xff
call fcn.004c7d00
lea ecx, [esp + 0x1c]
mov byte [esp + 0x220], 4
call fcn.004620f0
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x1c]
call fcn.004620f0
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x4c1aad
mov edx, dword [esp + 0x24]
lea ebx, [eax + edx]
lea ecx, [esp + 0x1c]
call fcn.004620f0
mov esi, dword [esp + 0x20]
cmp esi, ebx
je 0x4c1ad2
movsx eax, byte [esi]
push eax
call fcn.004dc8c4
add esp, 4
mov byte [edi], al
inc esi
inc edi
cmp esi, ebx
jne 0x4c1abe
push 1
lea ecx, [esp + 0x16]
push 0
mov bl, 0x20
push ecx
lea ecx, [esp + 0x28]
mov byte [esp + 0x1e], bl
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c1b86
mov eax, dword [esp + 0x24]
mov edi, 1
cmp eax, esi
jae 0x4c1b0b
call fcn.004db657
lea ecx, [esp + 0x1c]
call fcn.004026e0
mov eax, dword [esp + 0x24]
mov ecx, eax
sub ecx, esi
cmp ecx, 1
jae 0x4c1b27
mov edi, ecx
test edi, edi
jbe 0x4c1b61
mov edx, dword [esp + 0x20]
sub eax, edi
sub eax, esi
lea ecx, [edx + edi]
push eax
add ecx, esi
add esi, edx
push ecx
push esi
call fcn.004dbcc0
mov esi, dword [esp + 0x30]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x1c]
push 0
push esi
call fcn.00401d50
test al, al
je 0x4c1b61
push esi
lea ecx, [esp + 0x20]
call fcn.00401d30
push 1
lea edx, [esp + 0x16]
push 0
push edx
lea ecx, [esp + 0x28]
mov byte [esp + 0x1e], bl
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
jne 0x4c1af9
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4c1bf8
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x224], 3
call fcn.004019e0
push 1
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
call fcn.004019e0
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
call fcn.004019e0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x224], 0
call fcn.004019e0
push 1
lea ecx, [esp + 0x48]
mov dword [esp + 0x224], 0xffffffff
call fcn.004019e0
jmp 0x4c38f6
mov edi, str.db38
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push str.db38
lea ecx, [esp + 0x28]
call fcn.0041e720
mov edx, dword [0x4f4164]
xor ecx, ecx
cmp eax, edx
setne cl
mov eax, ecx
test eax, eax
je 0x4c2114
lea edx, [esp + 0x1c]
lea eax, [esp + 0x2c]
push edx
push eax
lea ecx, [ebp + 4]
call fcn.004c6f90
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x2c]
cmp esi, eax
je 0x4c1b8e
push 2
push 0x50abe0
lea ecx, [esp + 0x1c]
call fcn.00453e00
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 5
call fcn.0046fe10
lea ecx, [esp + 0xc4]
mov byte [esp + 0x220], 6
call fcn.0046ec80
lea ecx, [esp + 0x64]
mov byte [esp + 0x220], 7
call fcn.00453d60
mov ebx, 8
lea ecx, [esp + 0x18]
mov byte [esp + 0x220], bl
call fcn.00453d60
mov ecx, dword [ebp + 0x1c]
mov al, byte [esi + 0x1c]
mov byte [esp + 0x2c], al
mov byte [esp + 0x220], 9
mov byte [ecx + 0xc], al
mov edx, dword [ebp + 0x1c]
mov byte [edx + 0xd], al
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 2
je 0x4c1cec
mov esi, dword [ebp + 0x20]
mov dl, byte [eax + 0xc]
mov cl, byte [esi + 0xc]
cmp cl, dl
je 0x4c204e
mov dl, byte [esi + 0xd]
mov cl, byte [eax + 0xd]
cmp dl, cl
je 0x4c204e
mov eax, dword [esp + 0x2c]
mov ecx, eax
and ecx, 0xff
add ecx, 0xfffffffe
cmp ecx, 0xd
ja case.0x4c1d04.3
jmp dword [ecx*4 + 0x4c3914]
push 3
push 0xc
push 4
push 4
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push 3
push 0xc
push 2
push 2
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push 3
push 0xc
push 0xf
push 0xf
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push 3
push 0xc
push 5
push 5
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push 3
push 0xc
push 6
push 6
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push 3
push 0xc
push 7
push 7
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push 3
push 0xc
push ebx
push ebx
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push 3
push 0xc
push 9
push 9
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push 3
push 0xc
push 0xb
push 0xb
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push 3
push 0xc
push 0xc
push 0xc
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push 3
push 0xc
push 0xd
push 0xd
mov ecx, 0x512a78
call fcn.00456240
jmp 0x4c204e
push eax
push 0
lea ecx, [esp + 0x1c]
call fcn.00454200
push 3
push 0xc
push 3
push 3
mov ecx, 0x512a78
call fcn.00456240
push ebx
push 0
push 0x40c2c000
push 0
mov ecx, 0x512a78
call fcn.00457f10
push 0
push 0
push 1
push 0x12c
mov ecx, 0x512a78
call fcn.00459080
lea ecx, [esp + 0xe8]
call fcn.0045cbd0
lea ecx, [esp + 0xe8]
call fcn.0045cd80
lea edx, [esp + 0xe8]
push 0
push edx
push 0
mov ecx, 0x512a78
call fcn.0045cda0
lea ecx, [esp + 0x74]
call fcn.00474d20
lea ecx, [esp + 0xc4]
call fcn.0046f280
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00453d70
lea ecx, [esp + 0x68]
call fcn.00454080
lea ecx, [esp + 0x64]
mov word [esp + 0x68], 1
push ecx
lea ecx, [esp + 0x78]
call fcn.00474b10
sub esp, 0x24
lea eax, [esp + 0x98]
mov edx, esp
mov dword [esp + 0x50], esp
push 0
push eax
push edx
mov ecx, 0x512a78
call fcn.0045e380
lea ecx, [esp + 0xe8]
call fcn.0046ee30
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push ecx
lea ecx, [esp + 0xcc]
call fcn.0046f1a0
lea ecx, [esp + 0x1c]
call fcn.00454080
lea ecx, [esp + 0x18]
call fcn.00454280
movsx eax, ax
test eax, eax
jg 0x4c2035
mov edx, dword [ebp + 0x28]
mov eax, dword [edx + 0x2018]
test eax, eax
jne 0x4c1f71
push 0
push 2
sub esp, 0x10
mov ecx, 0x513088
mov eax, esp
mov dword [esp + 0x44], esp
push 1
push eax
call fcn.0047dbf0
sub esp, 0x10
mov byte [esp + 0x248], 0xa
mov ecx, esp
mov dword [esp + 0x68], esp
push 0
push ecx
mov ecx, 0x513088
call fcn.0047dbf0
mov ecx, 0x512ab0
mov byte [esp + 0x248], 9
call fcn.00461540
lea ecx, [esp + 0x18]
mov byte [esp + 0x220], bl
call fcn.00453ea0
lea ecx, [esp + 0x64]
mov byte [esp + 0x220], 7
call fcn.00453ea0
lea ecx, [esp + 0xc4]
mov byte [esp + 0x220], 6
call fcn.0046ed80
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 5
call fcn.00474760
lea ecx, [esp + 0x14]
mov byte [esp + 0x220], 4
call fcn.00453ea0
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x224], 3
call fcn.004019e0
push 1
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
call fcn.004019e0
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
call fcn.004019e0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x224], 0
call fcn.004019e0
push 1
lea ecx, [esp + 0x48]
mov dword [esp + 0x224], 0xffffffff
call fcn.004019e0
or eax, 0xffffffff
jmp 0x4c38f8
push 3
push 0xc
push 1
push 1
mov ecx, 0x512a78
call fcn.00456240
mov ecx, ebp
call fcn.004c18d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x220], bl
call fcn.00453ea0
lea ecx, [esp + 0x64]
mov byte [esp + 0x220], 7
call fcn.00453ea0
lea ecx, [esp + 0xc4]
mov byte [esp + 0x220], 6
call fcn.0046ed80
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 5
call fcn.00474760
lea ecx, [esp + 0x14]
mov byte [esp + 0x220], 4
call fcn.00453ea0
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x224], 3
call fcn.004019e0
push 1
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
call fcn.004019e0
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
call fcn.004019e0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x224], 0
call fcn.004019e0
push 1
lea ecx, [esp + 0x48]
mov dword [esp + 0x224], 0xffffffff
call fcn.004019e0
mov eax, 1
jmp 0x4c38f8
mov edi, 0x508b68
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x2c], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x508b68
lea ecx, [esp + 0x28]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c2a71
push esi
lea edx, [esp + 0x68]
push 0
push edx
lea ecx, [esp + 0x28]
call fcn.00464f00
mov eax, dword [0x4f4164]
inc esi
push eax
lea ecx, [esp + 0x78]
push esi
push ecx
lea ecx, [esp + 0x28]
mov byte [esp + 0x22c], 0xb
call fcn.00464f00
mov edi, 0x50abdc
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x220], 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x50abdc
lea ecx, [esp + 0x70]
call fcn.0041e720
cmp eax, dword [0x4f4164]
je 0x4c23dc
mov dl, byte [esp + 0x12]
push 0
lea ecx, [esp + 0x98]
mov dword [esp + 0x30], 1
mov byte [esp + 0x98], dl
call fcn.004019e0
mov edi, 0x512a68
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x98]
push ebx
call fcn.00401d50
test al, al
je 0x4c221a
mov edi, dword [esp + 0x98]
mov ecx, ebx
mov eax, ecx
mov esi, 0x512a68
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x98]
call fcn.00401d30
mov cl, byte [esp + 0x74]
push 0
mov byte [esp + 0xb8], cl
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0x13
call fcn.004019e0
mov edx, dword [0x4f4164]
lea eax, [esp + 0x74]
push edx
push 0
push eax
lea ecx, [esp + 0xc0]
call fcn.004017e0
mov edi, 0x50abdc
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x220], 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x50abdc
lea ecx, [esp + 0x70]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c231a
lea ecx, [esi + 1]
push eax
lea edx, [esp + 0xa8]
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.00464f00
mov ecx, dword [0x4f4164]
mov byte [esp + 0x220], 0x15
push ecx
push 0
push eax
lea ecx, [esp + 0xa0]
call fcn.004017e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.004019e0
push esi
lea edx, [esp + 0xa8]
push 0
push edx
lea ecx, [esp + 0x70]
call fcn.00464f00
mov ecx, dword [0x4f4164]
mov byte [esp + 0x220], 0x16
push ecx
push 0
push eax
lea ecx, [esp + 0x70]
call fcn.004017e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.004019e0
mov edi, 0x509a28
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x509a28
lea ecx, [esp + 0x70]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c2813
push esi
lea edx, [esp + 0xa8]
push 0
push edx
lea ecx, [esp + 0x70]
call fcn.00464f00
mov ecx, dword [0x4f4164]
mov byte [esp + 0x220], 0x17
push ecx
push 0
push eax
lea ecx, [esp + 0x3c]
call fcn.004017e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.004019e0
mov edx, dword [0x4f4164]
inc esi
push edx
lea eax, [esp + 0xa8]
push esi
push eax
lea ecx, [esp + 0x70]
call fcn.00464f00
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c23b3
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xa4]
push 1
sete bl
call fcn.004019e0
neg bl
sbb bl, bl
and ebx, 2
jmp 0x4c2826
mov edi, 0x509a28
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x509a28
lea ecx, [esp + 0x70]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c249b
push esi
lea edx, [esp + 0xb8]
push 0
push edx
lea ecx, [esp + 0x70]
call fcn.00464f00
mov ecx, dword [0x4f4164]
mov byte [esp + 0x220], 0xd
push ecx
push 0
push eax
lea ecx, [esp + 0x3c]
call fcn.004017e0
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0xc
call fcn.004019e0
mov edx, dword [0x4f4164]
inc esi
push edx
lea eax, [esp + 0xb8]
push esi
push eax
lea ecx, [esp + 0x70]
call fcn.00464f00
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c2475
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xb4]
push 1
sete bl
call fcn.004019e0
neg bl
sbb bl, bl
and ebx, 2
jmp 0x4c24ae
push eax
lea ecx, [esp + 0x68]
push 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.004017e0
mov bl, 2
mov edi, 0x50abdc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x50abdc
lea ecx, [esp + 0x80]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c2727
push eax
lea edx, [esi + 1]
lea eax, [esp + 0xb8]
push edx
push eax
lea ecx, [esp + 0x80]
call fcn.00464f00
push esi
lea ecx, [esp + 0x98]
push 0
push ecx
lea ecx, [esp + 0x80]
mov byte [esp + 0x22c], 0xe
call fcn.00464f00
mov edx, dword [0x4f4164]
lea ecx, [esp + 0x74]
push edx
push 0
push eax
mov byte [esp + 0x22c], 0xf
call fcn.004017e0
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x224], 0xe
call fcn.004019e0
mov edi, 0x509a28
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x509a28
lea ecx, [esp + 0x80]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
push eax
je 0x4c2615
lea eax, [esp + 0x98]
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.00464f00
mov ecx, dword [0x4f4164]
mov byte [esp + 0x220], 0x10
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.004017e0
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x224], 0xe
call fcn.004019e0
mov edx, dword [0x4f4164]
inc esi
push edx
lea eax, [esp + 0x98]
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.00464f00
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c25e9
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
add esp, 4
cmp eax, 1
lea ecx, [esp + 0x94]
push 1
sete byte [esp + 0x16]
call fcn.004019e0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x13]
jmp 0x4c262a
lea ecx, [esp + 0x78]
push 0
push ecx
lea ecx, [esp + 0x50]
call fcn.004017e0
mov byte [esp + 0x13], 1
mov edi, 0x509a28
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x509a28
lea ecx, [esp + 0xc0]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c26f8
push esi
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [esp + 0xc0]
call fcn.00464f00
mov ecx, dword [0x4f4164]
mov byte [esp + 0x220], 0x11
push ecx
push 0
push eax
lea ecx, [esp + 0x60]
call fcn.004017e0
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x224], 0xe
call fcn.004019e0
mov edx, dword [0x4f4164]
inc esi
push edx
lea eax, [esp + 0x98]
push esi
push eax
lea ecx, [esp + 0xc0]
call fcn.00464f00
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c26cc
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
add esp, 4
cmp eax, 1
lea ecx, [esp + 0x94]
push 1
sete byte [esp + 0x16]
call fcn.004019e0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x4c2711
push eax
lea ecx, [esp + 0xb8]
push 0
push ecx
lea ecx, [esp + 0x60]
call fcn.004017e0
mov byte [esp + 0x14], 1
mov byte [esp + 0x220], 0xc
push 1
lea ecx, [esp + 0xb8]
jmp 0x4c2a41
mov edi, 0x509a28
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x509a28
lea ecx, [esp + 0x80]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c27f8
push esi
lea edx, [esp + 0xb8]
push 0
push edx
lea ecx, [esp + 0x80]
call fcn.00464f00
mov ecx, dword [0x4f4164]
mov byte [esp + 0x220], 0x12
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.004017e0
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0xc
call fcn.004019e0
mov edx, dword [0x4f4164]
inc esi
push edx
lea eax, [esp + 0xb8]
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.00464f00
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c27c9
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xb4]
push 1
sete byte [esp + 0x16]
call fcn.004019e0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x13]
jmp 0x4c2a46
push eax
lea ecx, [esp + 0x78]
push 0
push ecx
lea ecx, [esp + 0x50]
call fcn.004017e0
mov byte [esp + 0x13], 1
jmp 0x4c2a46
push eax
lea ecx, [esp + 0x68]
push 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.004017e0
mov bl, 2
mov edx, dword [0x4f4164]
lea eax, [esp + 0x30]
push edx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.004017e0
test bl, bl
jne 0x4c2845
mov byte [esp + 0x13], bl
mov edi, 0x509a28
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x509a28
lea ecx, [esp + 0xa0]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c2912
push esi
lea ecx, [esp + 0xa8]
push 0
push ecx
lea ecx, [esp + 0xa0]
call fcn.00464f00
mov edx, dword [0x4f4164]
lea ecx, [esp + 0x54]
push edx
push 0
push eax
mov byte [esp + 0x22c], 0x18
call fcn.004017e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.004019e0
mov eax, dword [0x4f4164]
inc esi
push eax
lea ecx, [esp + 0xa8]
push esi
push ecx
lea ecx, [esp + 0xa0]
call fcn.00464f00
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c28e6
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xa4]
push 1
sete byte [esp + 0x16]
call fcn.004019e0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x4c292b
push eax
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [esp + 0x60]
call fcn.004017e0
mov byte [esp + 0x14], 1
mov edi, 0x509a28
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x509a28
lea ecx, [esp + 0xc0]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c29fe
push esi
lea eax, [esp + 0xa8]
push 0
push eax
lea ecx, [esp + 0xc0]
call fcn.00464f00
mov ecx, dword [0x4f4164]
mov byte [esp + 0x220], 0x19
push ecx
push 0
push eax
lea ecx, [esp + 0x90]
call fcn.004017e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.004019e0
mov edx, dword [0x4f4164]
inc esi
push edx
lea eax, [esp + 0xa8]
push esi
push eax
lea ecx, [esp + 0xc0]
call fcn.00464f00
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c29d0
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xa4]
push 1
sete byte [esp + 0x16]
call fcn.004019e0
mov al, byte [esp + 0x12]
test al, al
setne cl
mov byte [esp + 0x18], cl
jmp 0x4c2a1a
push eax
lea edx, [esp + 0xb8]
push 0
push edx
lea ecx, [esp + 0x90]
call fcn.004017e0
mov byte [esp + 0x18], 1
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0x13
call fcn.004019e0
mov byte [esp + 0x220], 0xc
push 1
lea ecx, [esp + 0x98]
call fcn.004019e0
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0x224], 0xb
call fcn.004019e0
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x224], 4
call fcn.004019e0
jmp 0x4c2f55
mov edi, 0x50abdc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x50abdc
lea ecx, [esp + 0x28]
call fcn.0041e720
mov ecx, dword [0x4f4164]
mov dword [esp + 0x40], eax
cmp eax, ecx
je 0x4c2dad
push eax
lea eax, [esp + 0x98]
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.00464f00
mov edi, 0x509a28
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x220], 0x1a
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x509a28
lea ecx, [esp + 0xa0]
call fcn.0041e720
mov esi, eax
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c2bb4
push esi
lea ecx, [esp + 0xa8]
push 0
push ecx
lea ecx, [esp + 0xa0]
call fcn.00464f00
mov edx, dword [0x4f4164]
lea ecx, [esp + 0x30]
push edx
push 0
push eax
mov byte [esp + 0x22c], 0x1b
call fcn.004017e0
mov ecx, dword [0x4f4164]
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.004017e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x1a
call fcn.004019e0
mov edx, dword [0x4f4164]
inc esi
push edx
lea eax, [esp + 0xa8]
push esi
push eax
lea ecx, [esp + 0xa0]
call fcn.00464f00
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c2b73
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
add esp, 4
cmp eax, 1
mov eax, dword [esp + 0xa8]
sete bl
test eax, eax
je 0x4c2baa
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c2ba1
cmp al, 0xff
je 0x4c2ba1
dec al
mov byte [ecx], al
jmp 0x4c2baa
push ecx
call fcn.004db420
add esp, 4
test bl, bl
jne 0x4c2bdb
mov byte [esp + 0x13], bl
jmp 0x4c2be2
push eax
lea ecx, [esp + 0x98]
push 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.004017e0
mov edx, dword [0x4f4164]
lea ecx, [esp + 0x44]
push edx
push 0
push eax
call fcn.004017e0
mov byte [esp + 0x13], 1
mov bl, 2
mov ecx, dword [esp + 0x40]
mov eax, dword [0x4f4164]
inc ecx
push eax
lea edx, [esp + 0xa8]
push ecx
push edx
lea ecx, [esp + 0x28]
call fcn.00464f00
mov ecx, dword [0x4f4164]
xor esi, esi
push ecx
push esi
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x22c], 0x1c
call fcn.004017e0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x220], 0x1a
cmp eax, esi
je 0x4c2c4e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c2c45
cmp al, 0xff
je 0x4c2c45
dec al
mov byte [ecx], al
jmp 0x4c2c4e
push ecx
call fcn.004db420
add esp, 4
mov edi, 0x509a28
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x509a28
lea ecx, [esp + 0xa0]
call fcn.0041e720
mov edi, eax
mov eax, dword [0x4f4164]
cmp edi, eax
je 0x4c2d59
push edi
lea edx, [esp + 0xa8]
push esi
push edx
lea ecx, [esp + 0xa0]
call fcn.00464f00
mov ecx, dword [0x4f4164]
mov byte [esp + 0x220], 0x1d
push ecx
push esi
push eax
lea ecx, [esp + 0x60]
call fcn.004017e0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x220], 0x1a
cmp eax, esi
je 0x4c2cdf
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c2cd6
cmp al, 0xff
je 0x4c2cd6
dec al
mov byte [ecx], al
jmp 0x4c2cdf
push ecx
call fcn.004db420
add esp, 4
mov edx, dword [0x4f4164]
inc edi
push edx
lea eax, [esp + 0xa8]
push edi
push eax
lea ecx, [esp + 0xa0]
call fcn.00464f00
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x4c2d08
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
add esp, 4
cmp eax, 1
mov eax, dword [esp + 0xa8]
sete byte [esp + 0x12]
cmp eax, esi
je 0x4c2d4c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c2d43
cmp al, 0xff
je 0x4c2d43
dec al
mov byte [ecx], al
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x4c2d71
push ecx
call fcn.004db420
add esp, 4
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x4c2d71
push eax
lea ecx, [esp + 0x98]
push esi
push ecx
lea ecx, [esp + 0x60]
call fcn.004017e0
mov byte [esp + 0x14], 1
mov eax, dword [esp + 0x98]
mov byte [esp + 0x220], 4
cmp eax, esi
je 0x4c2f57
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c2d9f
cmp al, 0xff
je 0x4c2d9f
dec al
mov byte [ecx], al
jmp 0x4c2f57
push ecx
call fcn.004db420
add esp, 4
jmp 0x4c2f57
mov edi, 0x509a28
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x64], ecx
jne 0x4c2dc6
xor esi, esi
jmp 0x4c2e3d
mov ebx, dword [esp + 0x24]
test ebx, ebx
jbe 0x4c2e37
mov eax, dword [esp + 0x64]
cmp eax, ebx
ja 0x4c2e37
movsx ecx, byte [0x509a28]
mov edx, 1
sub edx, eax
mov eax, dword [esp + 0x20]
add ebx, edx
mov dword [esp + 0x40], eax
push ebx
push ecx
push eax
call fcn.004dc330
add esp, 0xc
test eax, eax
je 0x4c2e37
mov ecx, dword [esp + 0x64]
mov edi, 0x509a28
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4c2eb3
mov ecx, dword [esp + 0x40]
movsx edx, byte [0x509a28]
sub ecx, eax
inc eax
mov dword [esp + 0x40], eax
lea ebx, [ebx + ecx - 1]
push ebx
push edx
push eax
call fcn.004dc330
add esp, 0xc
test eax, eax
jne 0x4c2dfd
mov esi, dword [0x4f4164]
mov eax, dword [0x4f4164]
cmp esi, eax
je 0x4c2f2a
push esi
lea eax, [esp + 0xa8]
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.00464f00
mov ecx, dword [0x4f4164]
mov byte [esp + 0x220], 0x1e
push ecx
push 0
push eax
lea ecx, [esp + 0x3c]
call fcn.004017e0
mov edx, dword [0x4f4164]
lea ecx, [esp + 0x44]
push edx
push 0
push eax
call fcn.004017e0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x220], 4
test eax, eax
je 0x4c2ec4
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c2ebb
cmp al, 0xff
je 0x4c2ebb
dec al
mov byte [ecx], al
jmp 0x4c2ec4
sub eax, dword [esp + 0x20]
mov esi, eax
jmp 0x4c2e3d
push ecx
call fcn.004db420
add esp, 4
mov eax, dword [0x4f4164]
inc esi
push eax
lea ecx, [esp + 0xa8]
push esi
push ecx
lea ecx, [esp + 0x28]
call fcn.00464f00
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c2ee9
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
add esp, 4
cmp eax, 1
mov eax, dword [esp + 0xa8]
sete bl
test eax, eax
je 0x4c2f20
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c2f17
cmp al, 0xff
je 0x4c2f17
dec al
mov byte [ecx], al
jmp 0x4c2f20
push ecx
call fcn.004db420
add esp, 4
test bl, bl
jne 0x4c2f4e
mov byte [esp + 0x13], bl
jmp 0x4c2f55
push eax
lea edx, [esp + 0x20]
push 0
push edx
lea ecx, [esp + 0x3c]
call fcn.004017e0
mov ecx, dword [0x4f4164]
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.004017e0
mov byte [esp + 0x13], 1
mov bl, 2
xor esi, esi
cmp dword [esp + 0x4c], esi
je 0x4c3806
cmp dword [esp + 0x38], esi
je 0x4c3806
mov ecx, dword [ebp + 0x18]
call fcn.004c8710
add eax, 0xfffffffd
cmp eax, 0x25
ja case.0x4c2f87.7
xor edx, edx
mov dl, byte [eax + 0x4c3960]
jmp dword [edx*4 + 0x4c394c]
mov edi, str.6_14
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x24]
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, edx
mov dword [esp + 0x40], ecx
mov eax, edx
jae 0x4c2fab
cmp eax, ecx
jb 0x4c2fb1
mov eax, ecx
mov esi, dword [esp + 0x20]
mov ecx, eax
mov edi, str.6_14
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4c2fc7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4c3081
mov edi, dword [esp + 0x40]
mov esi, edx
cmp esi, edi
jb 0x4c3081
cmp esi, edi
setne al
test eax, eax
jne 0x4c3081
mov eax, dword [ebp + 0x1c]
mov byte [eax + 0xc], 0x86
mov ecx, dword [ebp + 0x1c]
mov byte [ecx + 0xd], 0x86
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
mov edx, dword [ebp + 0x1c]
xor cx, cx
mov byte [edx + 0xe], al
mov al, byte [esp + 0x13]
or bl, al
mov eax, dword [ebp + 0x1c]
mov cl, bl
mov word [eax + 0x10], cx
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 2
jne 0x4c3039
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
push eax
push 0x86
push 0x86
jmp 0x4c3583
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x4c3068
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4c3068
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4c3068
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x4c358d
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
push eax
push 0x86
push 0x86
jmp 0x4c3583
mov edi, str.3_11
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, edx
mov dword [esp + 0x40], ecx
mov eax, edx
jae 0x4c309a
cmp eax, ecx
jb 0x4c30a0
mov eax, ecx
mov esi, dword [esp + 0x20]
mov ecx, eax
mov edi, str.3_11
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4c30b6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4c30d1
mov edi, dword [esp + 0x40]
mov esi, edx
cmp esi, edi
jb 0x4c30d1
cmp esi, edi
setne al
test eax, eax
je 0x4c31ee
mov edi, 0x50abc8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, edx
mov dword [esp + 0x40], ecx
mov eax, edx
jae 0x4c30ea
cmp eax, ecx
jae 0x4c30f0
mov ecx, eax
mov esi, dword [esp + 0x20]
mov edi, 0x50abc8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4c3104
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x4c311d
mov esi, dword [esp + 0x40]
cmp eax, esi
jb 0x4c311d
cmp eax, esi
setne dl
test edx, edx
je 0x4c31ee
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4c312a
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
mov ecx, dword [ebp + 0x1c]
add esp, 4
mov byte [ecx + 0xc], al
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x4c3146
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
mov edx, dword [ebp + 0x1c]
add esp, 4
mov byte [edx + 0xd], al
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
mov ecx, dword [ebp + 0x1c]
mov dl, byte [esp + 0x13]
or bl, dl
xor dx, dx
mov byte [ecx + 0xe], al
mov eax, dword [ebp + 0x1c]
mov dl, bl
mov word [eax + 0x10], dx
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 2
jne 0x4c3194
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x4c318a
mov edi, 0x4f4178
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x4c31dd
jmp 0x4c31d8
mov ecx, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [ecx + 0xc]
cmp dl, bl
jne 0x4c31c3
mov dl, byte [ecx + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4c31c3
mov dl, byte [ecx + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4c31c3
mov cx, word [ecx + 0x10]
cmp cx, word [eax + 0x10]
je 0x4c358d
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x4c31d0
mov edi, 0x4f4178
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x4c31dd
mov esi, 0x4f4178
mov ecx, dword [ebp + 0x18]
push 0
call fcn.004c89b0
push eax
push edi
jmp 0x4c3570
mov edx, dword [ebp + 0x1c]
mov byte [edx + 0xc], 0x83
mov eax, dword [ebp + 0x1c]
mov byte [eax + 0xd], 0x83
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
mov ecx, dword [ebp + 0x1c]
mov byte [ecx + 0xe], al
mov al, byte [esp + 0x13]
mov edx, dword [ebp + 0x1c]
or bl, al
xor cx, cx
mov cl, bl
mov word [edx + 0x10], cx
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 2
jne 0x4c323d
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
push eax
push 0x83
push 0x83
jmp 0x4c3583
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x4c326c
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4c326c
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4c326c
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x4c358d
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
push eax
push 0x83
push 0x83
jmp 0x4c3583
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x4c3292
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
mov ecx, dword [ebp + 0x1c]
add esp, 4
mov byte [ecx + 0xc], al
mov eax, dword [esp + 0x34]
cmp eax, esi
jne 0x4c32ae
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
mov edx, dword [ebp + 0x1c]
add esp, 4
mov byte [edx + 0xd], al
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
mov dl, byte [esp + 0x13]
mov ecx, dword [ebp + 0x1c]
or bl, dl
mov byte [ecx + 0xe], al
mov edx, dword [ebp + 0x1c]
movzx di, bl
mov word [edx + 0x10], di
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 2
jne 0x4c333b
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jne 0x4c32f1
mov ebx, 0x4f4178
mov eax, dword [esp + 0x48]
cmp eax, esi
mov esi, 0x4f4178
je 0x4c3300
mov esi, eax
mov ecx, dword [ebp + 0x18]
push edi
call fcn.004c89b0
push eax
push ebx
call fcn.004dc1cc
add esp, 4
push eax
push esi
call fcn.004dc1cc
add esp, 4
mov ecx, 0x512a78
push eax
call fcn.00456240
push 1
push 0x1e
mov ecx, 0x512a78
call fcn.00457470
jmp 0x4c358d
mov ecx, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [ecx + 0xc]
cmp dl, bl
jne 0x4c336a
mov dl, byte [ecx + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4c336a
mov dl, byte [ecx + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4c336a
mov cx, word [ecx + 0x10]
cmp cx, word [eax + 0x10]
je 0x4c358d
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jne 0x4c3377
mov ebx, 0x4f4178
mov eax, dword [esp + 0x48]
cmp eax, esi
mov esi, 0x4f4178
je 0x4c3300
jmp 0x4c32fe
mov edx, dword [ebp + 0x1c]
mov byte [edx + 0xc], 0x22
mov eax, dword [ebp + 0x1c]
mov byte [eax + 0xd], 0x22
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
mov ecx, dword [ebp + 0x1c]
mov byte [ecx + 0xe], al
mov al, byte [esp + 0x13]
mov edx, dword [ebp + 0x1c]
or bl, al
xor cx, cx
mov cl, bl
mov word [edx + 0x10], cx
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 2
jne 0x4c33d6
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
push eax
push 0x22
push 0x22
jmp 0x4c3583
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x4c3405
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4c3405
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4c3405
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x4c358d
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
push eax
push 0x22
push 0x22
jmp 0x4c3583
mov eax, dword [ebp + 0x1c]
mov byte [eax + 0xc], 0x42
mov ecx, dword [ebp + 0x1c]
mov byte [ecx + 0xd], 0x42
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
mov edx, dword [ebp + 0x1c]
xor cx, cx
mov byte [edx + 0xe], al
mov al, byte [esp + 0x13]
or bl, al
mov eax, dword [ebp + 0x1c]
mov cl, bl
mov word [eax + 0x10], cx
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 2
jne 0x4c3461
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
push eax
push 0x42
push 0x42
jmp 0x4c3583
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x4c3490
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4c3490
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4c3490
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x4c358d
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
push eax
push 0x42
push 0x42
jmp 0x4c3583
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x4c34b0
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
mov ecx, dword [ebp + 0x1c]
add esp, 4
mov byte [ecx + 0xc], al
mov eax, dword [esp + 0x34]
cmp eax, esi
jne 0x4c34cc
mov eax, 0x4f4178
push eax
call fcn.004dc1cc
mov edx, dword [ebp + 0x1c]
add esp, 4
mov byte [edx + 0xd], al
mov ecx, dword [ebp + 0x18]
call fcn.004c89b0
mov dl, byte [esp + 0x13]
mov ecx, dword [ebp + 0x1c]
or bl, dl
mov byte [ecx + 0xe], al
mov edx, dword [ebp + 0x1c]
movzx di, bl
mov word [edx + 0x10], di
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 2
jne 0x4c351e
mov ebx, dword [esp + 0x48]
cmp ebx, esi
jne 0x4c350f
mov ebx, 0x4f4178
mov eax, dword [esp + 0x34]
cmp eax, esi
mov esi, 0x4f4178
je 0x4c3565
jmp 0x4c3563
mov ecx, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [ecx + 0xc]
cmp dl, bl
jne 0x4c3549
mov dl, byte [ecx + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4c3549
mov dl, byte [ecx + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4c3549
mov cx, word [ecx + 0x10]
cmp cx, word [eax + 0x10]
je 0x4c358d
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jne 0x4c3556
mov ebx, 0x4f4178
mov eax, dword [esp + 0x48]
cmp eax, esi
mov esi, 0x4f4178
je 0x4c3565
mov esi, eax
mov ecx, dword [ebp + 0x18]
push edi
call fcn.004c89b0
push eax
push ebx
call fcn.004dc1cc
add esp, 4
push eax
push esi
call fcn.004dc1cc
add esp, 4
push eax
mov ecx, 0x512a78
call fcn.00456240
mov eax, dword [esp + 0x2c]
xor esi, esi
cmp eax, esi
jne 0x4c36c3
cmp byte [esp + 0x14], 0xff
je 0x4c3704
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x54]
push edx
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.004159f0
mov ecx, ebp
call fcn.004c3990
mov ecx, dword [esp + 0x20]
mov edi, eax
cmp ecx, esi
je 0x4c35eb
mov al, byte [ecx - 1]
test al, al
je 0x4c35e1
cmp al, 0xff
je 0x4c35e1
dec al
mov byte [ecx - 1], al
jmp 0x4c35eb
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x20], esi
cmp ecx, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
je 0x4c361e
mov al, byte [ecx - 1]
test al, al
je 0x4c3614
cmp al, 0xff
je 0x4c3614
dec al
mov byte [ecx - 1], al
jmp 0x4c361e
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x88], esi
cmp ecx, esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
je 0x4c3657
mov al, byte [ecx - 1]
test al, al
je 0x4c364d
cmp al, 0xff
je 0x4c364d
dec al
mov byte [ecx - 1], al
jmp 0x4c3657
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x58], esi
cmp ecx, esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
je 0x4c3687
mov al, byte [ecx - 1]
test al, al
je 0x4c367d
cmp al, 0xff
je 0x4c367d
dec al
mov byte [ecx - 1], al
jmp 0x4c3687
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x34], esi
cmp ecx, esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
je 0x4c36bc
mov al, byte [ecx - 1]
test al, al
je 0x4c36b2
cmp al, 0xff
je 0x4c36b2
dec al
mov byte [ecx - 1], al
mov eax, edi
jmp 0x4c38f8
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov eax, edi
jmp 0x4c38f8
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x54]
push ecx
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.004159f0
mov ecx, ebp
call fcn.004c3990
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x84]
push eax
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.004159f0
mov ecx, ebp
call fcn.004c3990
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x4c3728
mov al, byte [ecx - 1]
test al, al
je 0x4c371e
cmp al, 0xff
je 0x4c371e
dec al
mov byte [ecx - 1], al
jmp 0x4c3728
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x20], esi
cmp ecx, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
je 0x4c375b
mov al, byte [ecx - 1]
test al, al
je 0x4c3751
cmp al, 0xff
je 0x4c3751
dec al
mov byte [ecx - 1], al
jmp 0x4c375b
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x88], esi
cmp ecx, esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
je 0x4c3794
mov al, byte [ecx - 1]
test al, al
je 0x4c378a
cmp al, 0xff
je 0x4c378a
dec al
mov byte [ecx - 1], al
jmp 0x4c3794
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x58], esi
cmp ecx, esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
je 0x4c37c4
mov al, byte [ecx - 1]
test al, al
je 0x4c37ba
cmp al, 0xff
je 0x4c37ba
dec al
mov byte [ecx - 1], al
jmp 0x4c37c4
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x34], esi
cmp ecx, esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
je 0x4c37fc
mov al, byte [ecx - 1]
test al, al
je 0x4c37f2
cmp al, 0xff
je 0x4c37f2
dec al
mov byte [ecx - 1], al
mov eax, 1
jmp 0x4c38f8
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov eax, 1
jmp 0x4c38f8
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x4c382a
mov al, byte [ecx - 1]
test al, al
je 0x4c3820
cmp al, 0xff
je 0x4c3820
dec al
mov byte [ecx - 1], al
jmp 0x4c382a
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x20], esi
cmp ecx, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
je 0x4c385d
mov al, byte [ecx - 1]
test al, al
je 0x4c3853
cmp al, 0xff
je 0x4c3853
dec al
mov byte [ecx - 1], al
jmp 0x4c385d
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x88], esi
cmp ecx, esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
je 0x4c3896
mov al, byte [ecx - 1]
test al, al
je 0x4c388c
cmp al, 0xff
je 0x4c388c
dec al
mov byte [ecx - 1], al
jmp 0x4c3896
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x58], esi
cmp ecx, esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
je 0x4c38c6
mov al, byte [ecx - 1]
test al, al
je 0x4c38bc
cmp al, 0xff
je 0x4c38bc
dec al
mov byte [ecx - 1], al
jmp 0x4c38c6
dec ecx
push ecx
call fcn.004db420
add esp, 4
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x34], esi
cmp ecx, esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
je 0x4c38f6
mov al, byte [ecx - 1]
test al, al
je 0x4c38ec
cmp al, 0xff
je 0x4c38ec
dec al
mov byte [ecx - 1], al
jmp 0x4c38f6
dec ecx
push ecx
call fcn.004db420
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x218]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x214
ret