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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x52fba5
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 0x4fcdc6
call fcn.004d0720
cmp eax, 7
je 0x4fb5da
mov al, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], al
call fcn.00405cc0
mov edi, 0x55802c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x55802c
lea ecx, [esp + 0x4c]
call fcn.00408160
mov cl, byte [esp + 0x12]
push ebx
mov byte [esp + 0x34], cl
lea ecx, [esp + 0x34]
mov dword [esp + 0x224], ebx
call fcn.00405cc0
mov edi, 0x55802c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x55802c
lea ecx, [esp + 0x38]
call fcn.00408160
mov dl, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
mov byte [esp + 0x58], dl
call fcn.00405cc0
mov edi, 0x55802c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x55802c
lea ecx, [esp + 0x5c]
call fcn.00408160
mov al, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
mov byte [esp + 0x88], al
call fcn.00405cc0
mov edi, 0x55802c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x55802c
lea ecx, [esp + 0x8c]
call fcn.00408160
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.00500a00
lea ecx, [esp + 0x1c]
mov byte [esp + 0x220], 4
call fcn.0049a5e0
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x1c]
call fcn.0049a5e0
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x4faf7d
mov edx, dword [esp + 0x24]
lea ebx, [eax + edx]
lea ecx, [esp + 0x1c]
call fcn.0049a5e0
mov esi, dword [esp + 0x20]
cmp esi, ebx
je 0x4fafa2
movsx eax, byte [esi]
push eax
call fcn.00515658
add esp, 4
mov byte [edi], al
inc esi
inc edi
cmp esi, ebx
jne 0x4faf8e
push 1
lea ecx, [esp + 0x16]
push 0
mov bl, 0x20
push ecx
lea ecx, [esp + 0x28]
mov byte [esp + 0x1e], bl
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fb056
mov eax, dword [esp + 0x24]
mov edi, 1
cmp eax, esi
jae 0x4fafdb
call fcn.00514440
lea ecx, [esp + 0x1c]
call fcn.00408350
mov eax, dword [esp + 0x24]
mov ecx, eax
sub ecx, esi
cmp ecx, 1
jae 0x4faff7
mov edi, ecx
test edi, edi
jbe 0x4fb031
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.00514bd0
mov esi, dword [esp + 0x30]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x1c]
push 0
push esi
call fcn.00408220
test al, al
je 0x4fb031
push esi
lea ecx, [esp + 0x20]
call fcn.00408200
push 1
lea edx, [esp + 0x16]
push 0
push edx
lea ecx, [esp + 0x28]
mov byte [esp + 0x1e], bl
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
jne 0x4fafc9
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4fb0c8
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x224], 3
call fcn.00405cc0
push 1
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
call fcn.00405cc0
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
call fcn.00405cc0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x224], 0
call fcn.00405cc0
push 1
lea ecx, [esp + 0x48]
mov dword [esp + 0x224], 0xffffffff
call fcn.00405cc0
jmp 0x4fcdc6
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.004ab270
mov edx, dword [0x531160]
xor ecx, ecx
cmp eax, edx
setne cl
mov eax, ecx
test eax, eax
je 0x4fb5e4
lea edx, [esp + 0x1c]
lea eax, [esp + 0x2c]
push edx
push eax
lea ecx, [ebp + 4]
call fcn.004ffa70
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x2c]
cmp esi, eax
je 0x4fb05e
push 2
push 0x54bbf4
lea ecx, [esp + 0x1c]
call fcn.0048a680
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 5
call fcn.00496190
lea ecx, [esp + 0xc4]
mov byte [esp + 0x220], 6
call fcn.004974f0
lea ecx, [esp + 0x64]
mov byte [esp + 0x220], 7
call fcn.0048a5e0
mov ebx, 8
lea ecx, [esp + 0x18]
mov byte [esp + 0x220], bl
call fcn.0048a5e0
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 0x4fb1bc
mov esi, dword [ebp + 0x20]
mov dl, byte [eax + 0xc]
mov cl, byte [esi + 0xc]
cmp cl, dl
je 0x4fb51e
mov dl, byte [esi + 0xd]
mov cl, byte [eax + 0xd]
cmp dl, cl
je 0x4fb51e
mov eax, dword [esp + 0x2c]
mov ecx, eax
and ecx, 0xff
add ecx, 0xfffffffe
cmp ecx, 0xd
ja case.0x4fb1d4.3
jmp dword [ecx*4 + 0x4fcde4]
push 3
push 0xc
push 4
push 4
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push 3
push 0xc
push 2
push 2
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push 3
push 0xc
push 0xf
push 0xf
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push 3
push 0xc
push 5
push 5
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push 3
push 0xc
push 6
push 6
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push 3
push 0xc
push 7
push 7
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push 3
push 0xc
push ebx
push ebx
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push 3
push 0xc
push 9
push 9
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push 3
push 0xc
push 0xb
push 0xb
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push 3
push 0xc
push 0xc
push 0xc
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push 3
push 0xc
push 0xd
push 0xd
mov ecx, 0x55b398
call fcn.0048bfd0
jmp 0x4fb51e
push eax
push 0
lea ecx, [esp + 0x1c]
call fcn.0048a9f0
push 3
push 0xc
push 3
push 3
mov ecx, 0x55b398
call fcn.0048bfd0
push ebx
push 0
push 0x40c2c000
push 0
mov ecx, 0x55b398
call fcn.0048dca0
push 0
push 0
push 1
push 0x12c
mov ecx, 0x55b398
call fcn.0048ee10
lea ecx, [esp + 0xe8]
call fcn.00493220
lea ecx, [esp + 0xe8]
call fcn.004933d0
lea edx, [esp + 0xe8]
push 0
push edx
push 0
mov ecx, 0x55b398
call fcn.004933f0
lea ecx, [esp + 0x74]
call fcn.00496cd0
lea ecx, [esp + 0xc4]
call fcn.00497af0
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.0048a5f0
lea ecx, [esp + 0x68]
call fcn.0048a8d0
lea ecx, [esp + 0x64]
mov word [esp + 0x68], 1
push ecx
lea ecx, [esp + 0x78]
call fcn.00496700
sub esp, 0x24
lea eax, [esp + 0x98]
mov edx, esp
mov dword [esp + 0x50], esp
push 0
push eax
push edx
mov ecx, 0x55b398
call fcn.00493e70
lea ecx, [esp + 0xe8]
call fcn.004976a0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push ecx
lea ecx, [esp + 0xcc]
call fcn.00497a20
lea ecx, [esp + 0x1c]
call fcn.0048a8d0
lea ecx, [esp + 0x18]
call fcn.0048ab50
movsx eax, ax
test eax, eax
jg 0x4fb505
mov edx, dword [ebp + 0x28]
mov eax, dword [edx + 0x2018]
test eax, eax
jne 0x4fb441
push 0
push 2
sub esp, 0x10
mov ecx, 0x55eb50
mov eax, esp
mov dword [esp + 0x44], esp
push 1
push eax
call fcn.004b2c30
sub esp, 0x10
mov byte [esp + 0x248], 0xa
mov ecx, esp
mov dword [esp + 0x68], esp
push 0
push ecx
mov ecx, 0x55eb50
call fcn.004b2c30
mov ecx, 0x55b3d0
mov byte [esp + 0x248], 9
call fcn.004995c0
lea ecx, [esp + 0x18]
mov byte [esp + 0x220], bl
call fcn.0048a720
lea ecx, [esp + 0x64]
mov byte [esp + 0x220], 7
call fcn.0048a720
lea ecx, [esp + 0xc4]
mov byte [esp + 0x220], 6
call fcn.004975f0
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 5
call fcn.004961b0
lea ecx, [esp + 0x14]
mov byte [esp + 0x220], 4
call fcn.0048a720
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x224], 3
call fcn.00405cc0
push 1
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
call fcn.00405cc0
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
call fcn.00405cc0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x224], 0
call fcn.00405cc0
push 1
lea ecx, [esp + 0x48]
mov dword [esp + 0x224], 0xffffffff
call fcn.00405cc0
or eax, 0xffffffff
jmp 0x4fcdc8
push 3
push 0xc
push 1
push 1
mov ecx, 0x55b398
call fcn.0048bfd0
mov ecx, ebp
call fcn.004fada0
lea ecx, [esp + 0x18]
mov byte [esp + 0x220], bl
call fcn.0048a720
lea ecx, [esp + 0x64]
mov byte [esp + 0x220], 7
call fcn.0048a720
lea ecx, [esp + 0xc4]
mov byte [esp + 0x220], 6
call fcn.004975f0
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 5
call fcn.004961b0
lea ecx, [esp + 0x14]
mov byte [esp + 0x220], 4
call fcn.0048a720
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x224], 3
call fcn.00405cc0
push 1
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
call fcn.00405cc0
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
call fcn.00405cc0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x224], 0
call fcn.00405cc0
push 1
lea ecx, [esp + 0x48]
mov dword [esp + 0x224], 0xffffffff
call fcn.00405cc0
mov eax, 1
jmp 0x4fcdc8
mov edi, 0x54df8c
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 0x54df8c
lea ecx, [esp + 0x28]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fbf41
push esi
lea edx, [esp + 0x68]
push 0
push edx
lea ecx, [esp + 0x28]
call fcn.0049e4f0
mov eax, dword [0x531160]
inc esi
push eax
lea ecx, [esp + 0x78]
push esi
push ecx
lea ecx, [esp + 0x28]
mov byte [esp + 0x22c], 0xb
call fcn.0049e4f0
mov edi, 0x5501a0
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 0x5501a0
lea ecx, [esp + 0x70]
call fcn.004ab270
cmp eax, dword [0x531160]
je 0x4fb8ac
mov dl, byte [esp + 0x12]
push 0
lea ecx, [esp + 0x98]
mov dword [esp + 0x30], 1
mov byte [esp + 0x98], dl
call fcn.00405cc0
mov edi, 0x55802c
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.00408220
test al, al
je 0x4fb6ea
mov edi, dword [esp + 0x98]
mov ecx, ebx
mov eax, ecx
mov esi, 0x55802c
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.00408200
mov cl, byte [esp + 0x74]
push 0
mov byte [esp + 0xb8], cl
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0x13
call fcn.00405cc0
mov edx, dword [0x531160]
lea eax, [esp + 0x74]
push edx
push 0
push eax
lea ecx, [esp + 0xc0]
call fcn.00407be0
mov edi, 0x5501a0
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 0x5501a0
lea ecx, [esp + 0x70]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fb7ea
lea ecx, [esi + 1]
push eax
lea edx, [esp + 0xa8]
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.0049e4f0
mov ecx, dword [0x531160]
mov byte [esp + 0x220], 0x15
push ecx
push 0
push eax
lea ecx, [esp + 0xa0]
call fcn.00407be0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.00405cc0
push esi
lea edx, [esp + 0xa8]
push 0
push edx
lea ecx, [esp + 0x70]
call fcn.0049e4f0
mov ecx, dword [0x531160]
mov byte [esp + 0x220], 0x16
push ecx
push 0
push eax
lea ecx, [esp + 0x70]
call fcn.00407be0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.00405cc0
mov edi, 0x54f160
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x54f160
lea ecx, [esp + 0x70]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fbce3
push esi
lea edx, [esp + 0xa8]
push 0
push edx
lea ecx, [esp + 0x70]
call fcn.0049e4f0
mov ecx, dword [0x531160]
mov byte [esp + 0x220], 0x17
push ecx
push 0
push eax
lea ecx, [esp + 0x3c]
call fcn.00407be0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.00405cc0
mov edx, dword [0x531160]
inc esi
push edx
lea eax, [esp + 0xa8]
push esi
push eax
lea ecx, [esp + 0x70]
call fcn.0049e4f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4fb883
mov eax, 0x53115c
push eax
call fcn.00514fba
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xa4]
push 1
sete bl
call fcn.00405cc0
neg bl
sbb bl, bl
and ebx, 2
jmp 0x4fbcf6
mov edi, 0x54f160
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x54f160
lea ecx, [esp + 0x70]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fb96b
push esi
lea edx, [esp + 0xb8]
push 0
push edx
lea ecx, [esp + 0x70]
call fcn.0049e4f0
mov ecx, dword [0x531160]
mov byte [esp + 0x220], 0xd
push ecx
push 0
push eax
lea ecx, [esp + 0x3c]
call fcn.00407be0
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0xc
call fcn.00405cc0
mov edx, dword [0x531160]
inc esi
push edx
lea eax, [esp + 0xb8]
push esi
push eax
lea ecx, [esp + 0x70]
call fcn.0049e4f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4fb945
mov eax, 0x53115c
push eax
call fcn.00514fba
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xb4]
push 1
sete bl
call fcn.00405cc0
neg bl
sbb bl, bl
and ebx, 2
jmp 0x4fb97e
push eax
lea ecx, [esp + 0x68]
push 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.00407be0
mov bl, 2
mov edi, 0x5501a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x5501a0
lea ecx, [esp + 0x80]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fbbf7
push eax
lea edx, [esi + 1]
lea eax, [esp + 0xb8]
push edx
push eax
lea ecx, [esp + 0x80]
call fcn.0049e4f0
push esi
lea ecx, [esp + 0x98]
push 0
push ecx
lea ecx, [esp + 0x80]
mov byte [esp + 0x22c], 0xe
call fcn.0049e4f0
mov edx, dword [0x531160]
lea ecx, [esp + 0x74]
push edx
push 0
push eax
mov byte [esp + 0x22c], 0xf
call fcn.00407be0
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x224], 0xe
call fcn.00405cc0
mov edi, 0x54f160
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x54f160
lea ecx, [esp + 0x80]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
push eax
je 0x4fbae5
lea eax, [esp + 0x98]
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.0049e4f0
mov ecx, dword [0x531160]
mov byte [esp + 0x220], 0x10
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.00407be0
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x224], 0xe
call fcn.00405cc0
mov edx, dword [0x531160]
inc esi
push edx
lea eax, [esp + 0x98]
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.0049e4f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4fbab9
mov eax, 0x53115c
push eax
call fcn.00514fba
add esp, 4
cmp eax, 1
lea ecx, [esp + 0x94]
push 1
sete byte [esp + 0x16]
call fcn.00405cc0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x13]
jmp 0x4fbafa
lea ecx, [esp + 0x78]
push 0
push ecx
lea ecx, [esp + 0x50]
call fcn.00407be0
mov byte [esp + 0x13], 1
mov edi, 0x54f160
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x54f160
lea ecx, [esp + 0xc0]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fbbc8
push esi
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [esp + 0xc0]
call fcn.0049e4f0
mov ecx, dword [0x531160]
mov byte [esp + 0x220], 0x11
push ecx
push 0
push eax
lea ecx, [esp + 0x60]
call fcn.00407be0
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x224], 0xe
call fcn.00405cc0
mov edx, dword [0x531160]
inc esi
push edx
lea eax, [esp + 0x98]
push esi
push eax
lea ecx, [esp + 0xc0]
call fcn.0049e4f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4fbb9c
mov eax, 0x53115c
push eax
call fcn.00514fba
add esp, 4
cmp eax, 1
lea ecx, [esp + 0x94]
push 1
sete byte [esp + 0x16]
call fcn.00405cc0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x4fbbe1
push eax
lea ecx, [esp + 0xb8]
push 0
push ecx
lea ecx, [esp + 0x60]
call fcn.00407be0
mov byte [esp + 0x14], 1
mov byte [esp + 0x220], 0xc
push 1
lea ecx, [esp + 0xb8]
jmp 0x4fbf11
mov edi, 0x54f160
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x54f160
lea ecx, [esp + 0x80]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fbcc8
push esi
lea edx, [esp + 0xb8]
push 0
push edx
lea ecx, [esp + 0x80]
call fcn.0049e4f0
mov ecx, dword [0x531160]
mov byte [esp + 0x220], 0x12
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.00407be0
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0xc
call fcn.00405cc0
mov edx, dword [0x531160]
inc esi
push edx
lea eax, [esp + 0xb8]
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.0049e4f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4fbc99
mov eax, 0x53115c
push eax
call fcn.00514fba
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xb4]
push 1
sete byte [esp + 0x16]
call fcn.00405cc0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x13]
jmp 0x4fbf16
push eax
lea ecx, [esp + 0x78]
push 0
push ecx
lea ecx, [esp + 0x50]
call fcn.00407be0
mov byte [esp + 0x13], 1
jmp 0x4fbf16
push eax
lea ecx, [esp + 0x68]
push 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.00407be0
mov bl, 2
mov edx, dword [0x531160]
lea eax, [esp + 0x30]
push edx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.00407be0
test bl, bl
jne 0x4fbd15
mov byte [esp + 0x13], bl
mov edi, 0x54f160
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x54f160
lea ecx, [esp + 0xa0]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fbde2
push esi
lea ecx, [esp + 0xa8]
push 0
push ecx
lea ecx, [esp + 0xa0]
call fcn.0049e4f0
mov edx, dword [0x531160]
lea ecx, [esp + 0x54]
push edx
push 0
push eax
mov byte [esp + 0x22c], 0x18
call fcn.00407be0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.00405cc0
mov eax, dword [0x531160]
inc esi
push eax
lea ecx, [esp + 0xa8]
push esi
push ecx
lea ecx, [esp + 0xa0]
call fcn.0049e4f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4fbdb6
mov eax, 0x53115c
push eax
call fcn.00514fba
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xa4]
push 1
sete byte [esp + 0x16]
call fcn.00405cc0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x4fbdfb
push eax
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [esp + 0x60]
call fcn.00407be0
mov byte [esp + 0x14], 1
mov edi, 0x54f160
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x54f160
lea ecx, [esp + 0xc0]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fbece
push esi
lea eax, [esp + 0xa8]
push 0
push eax
lea ecx, [esp + 0xc0]
call fcn.0049e4f0
mov ecx, dword [0x531160]
mov byte [esp + 0x220], 0x19
push ecx
push 0
push eax
lea ecx, [esp + 0x90]
call fcn.00407be0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.00405cc0
mov edx, dword [0x531160]
inc esi
push edx
lea eax, [esp + 0xa8]
push esi
push eax
lea ecx, [esp + 0xc0]
call fcn.0049e4f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4fbea0
mov eax, 0x53115c
push eax
call fcn.00514fba
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xa4]
push 1
sete byte [esp + 0x16]
call fcn.00405cc0
mov al, byte [esp + 0x12]
test al, al
setne cl
mov byte [esp + 0x18], cl
jmp 0x4fbeea
push eax
lea edx, [esp + 0xb8]
push 0
push edx
lea ecx, [esp + 0x90]
call fcn.00407be0
mov byte [esp + 0x18], 1
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0x13
call fcn.00405cc0
mov byte [esp + 0x220], 0xc
push 1
lea ecx, [esp + 0x98]
call fcn.00405cc0
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0x224], 0xb
call fcn.00405cc0
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x224], 4
call fcn.00405cc0
jmp 0x4fc425
mov edi, 0x5501a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x5501a0
lea ecx, [esp + 0x28]
call fcn.004ab270
mov ecx, dword [0x531160]
mov dword [esp + 0x40], eax
cmp eax, ecx
je 0x4fc27d
push eax
lea eax, [esp + 0x98]
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.0049e4f0
mov edi, 0x54f160
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 0x54f160
lea ecx, [esp + 0xa0]
call fcn.004ab270
mov esi, eax
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fc084
push esi
lea ecx, [esp + 0xa8]
push 0
push ecx
lea ecx, [esp + 0xa0]
call fcn.0049e4f0
mov edx, dword [0x531160]
lea ecx, [esp + 0x30]
push edx
push 0
push eax
mov byte [esp + 0x22c], 0x1b
call fcn.00407be0
mov ecx, dword [0x531160]
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.00407be0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x1a
call fcn.00405cc0
mov edx, dword [0x531160]
inc esi
push edx
lea eax, [esp + 0xa8]
push esi
push eax
lea ecx, [esp + 0xa0]
call fcn.0049e4f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4fc043
mov eax, 0x53115c
push eax
call fcn.00514fba
add esp, 4
cmp eax, 1
mov eax, dword [esp + 0xa8]
sete bl
test eax, eax
je 0x4fc07a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4fc071
cmp al, 0xff
je 0x4fc071
dec al
mov byte [ecx], al
jmp 0x4fc07a
push ecx
call fcn.00514120
add esp, 4
test bl, bl
jne 0x4fc0ab
mov byte [esp + 0x13], bl
jmp 0x4fc0b2
push eax
lea ecx, [esp + 0x98]
push 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.00407be0
mov edx, dword [0x531160]
lea ecx, [esp + 0x44]
push edx
push 0
push eax
call fcn.00407be0
mov byte [esp + 0x13], 1
mov bl, 2
mov ecx, dword [esp + 0x40]
mov eax, dword [0x531160]
inc ecx
push eax
lea edx, [esp + 0xa8]
push ecx
push edx
lea ecx, [esp + 0x28]
call fcn.0049e4f0
mov ecx, dword [0x531160]
xor esi, esi
push ecx
push esi
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x22c], 0x1c
call fcn.00407be0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x220], 0x1a
cmp eax, esi
je 0x4fc11e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4fc115
cmp al, 0xff
je 0x4fc115
dec al
mov byte [ecx], al
jmp 0x4fc11e
push ecx
call fcn.00514120
add esp, 4
mov edi, 0x54f160
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x54f160
lea ecx, [esp + 0xa0]
call fcn.004ab270
mov edi, eax
mov eax, dword [0x531160]
cmp edi, eax
je 0x4fc229
push edi
lea edx, [esp + 0xa8]
push esi
push edx
lea ecx, [esp + 0xa0]
call fcn.0049e4f0
mov ecx, dword [0x531160]
mov byte [esp + 0x220], 0x1d
push ecx
push esi
push eax
lea ecx, [esp + 0x60]
call fcn.00407be0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x220], 0x1a
cmp eax, esi
je 0x4fc1af
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4fc1a6
cmp al, 0xff
je 0x4fc1a6
dec al
mov byte [ecx], al
jmp 0x4fc1af
push ecx
call fcn.00514120
add esp, 4
mov edx, dword [0x531160]
inc edi
push edx
lea eax, [esp + 0xa8]
push edi
push eax
lea ecx, [esp + 0xa0]
call fcn.0049e4f0
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x4fc1d8
mov eax, 0x53115c
push eax
call fcn.00514fba
add esp, 4
cmp eax, 1
mov eax, dword [esp + 0xa8]
sete byte [esp + 0x12]
cmp eax, esi
je 0x4fc21c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4fc213
cmp al, 0xff
je 0x4fc213
dec al
mov byte [ecx], al
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x4fc241
push ecx
call fcn.00514120
add esp, 4
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x4fc241
push eax
lea ecx, [esp + 0x98]
push esi
push ecx
lea ecx, [esp + 0x60]
call fcn.00407be0
mov byte [esp + 0x14], 1
mov eax, dword [esp + 0x98]
mov byte [esp + 0x220], 4
cmp eax, esi
je 0x4fc427
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4fc26f
cmp al, 0xff
je 0x4fc26f
dec al
mov byte [ecx], al
jmp 0x4fc427
push ecx
call fcn.00514120
add esp, 4
jmp 0x4fc427
mov edi, 0x54f160
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x64], ecx
jne 0x4fc296
xor esi, esi
jmp 0x4fc30d
mov ebx, dword [esp + 0x24]
test ebx, ebx
jbe 0x4fc307
mov eax, dword [esp + 0x64]
cmp eax, ebx
ja 0x4fc307
movsx ecx, byte [0x54f160]
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.00515940
add esp, 0xc
test eax, eax
je 0x4fc307
mov ecx, dword [esp + 0x64]
mov edi, 0x54f160
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4fc383
mov ecx, dword [esp + 0x40]
movsx edx, byte [0x54f160]
sub ecx, eax
inc eax
mov dword [esp + 0x40], eax
lea ebx, [ebx + ecx - 1]
push ebx
push edx
push eax
call fcn.00515940
add esp, 0xc
test eax, eax
jne 0x4fc2cd
mov esi, dword [0x531160]
mov eax, dword [0x531160]
cmp esi, eax
je 0x4fc3fa
push esi
lea eax, [esp + 0xa8]
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.0049e4f0
mov ecx, dword [0x531160]
mov byte [esp + 0x220], 0x1e
push ecx
push 0
push eax
lea ecx, [esp + 0x3c]
call fcn.00407be0
mov edx, dword [0x531160]
lea ecx, [esp + 0x44]
push edx
push 0
push eax
call fcn.00407be0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x220], 4
test eax, eax
je 0x4fc394
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4fc38b
cmp al, 0xff
je 0x4fc38b
dec al
mov byte [ecx], al
jmp 0x4fc394
sub eax, dword [esp + 0x20]
mov esi, eax
jmp 0x4fc30d
push ecx
call fcn.00514120
add esp, 4
mov eax, dword [0x531160]
inc esi
push eax
lea ecx, [esp + 0xa8]
push esi
push ecx
lea ecx, [esp + 0x28]
call fcn.0049e4f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4fc3b9
mov eax, 0x53115c
push eax
call fcn.00514fba
add esp, 4
cmp eax, 1
mov eax, dword [esp + 0xa8]
sete bl
test eax, eax
je 0x4fc3f0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4fc3e7
cmp al, 0xff
je 0x4fc3e7
dec al
mov byte [ecx], al
jmp 0x4fc3f0
push ecx
call fcn.00514120
add esp, 4
test bl, bl
jne 0x4fc41e
mov byte [esp + 0x13], bl
jmp 0x4fc425
push eax
lea edx, [esp + 0x20]
push 0
push edx
lea ecx, [esp + 0x3c]
call fcn.00407be0
mov ecx, dword [0x531160]
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.00407be0
mov byte [esp + 0x13], 1
mov bl, 2
xor esi, esi
cmp dword [esp + 0x4c], esi
je 0x4fccd6
cmp dword [esp + 0x38], esi
je 0x4fccd6
mov ecx, dword [ebp + 0x18]
call fcn.004d0720
add eax, 0xfffffffd
cmp eax, 0x25
ja case.0x4fc457.7
xor edx, edx
mov dl, byte [eax + 0x4fce30]
jmp dword [edx*4 + 0x4fce1c]
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 0x4fc47b
cmp eax, ecx
jb 0x4fc481
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 0x4fc497
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fc551
mov edi, dword [esp + 0x40]
mov esi, edx
cmp esi, edi
jb 0x4fc551
cmp esi, edi
setne al
test eax, eax
jne 0x4fc551
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.005016a0
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 0x4fc509
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
push eax
push 0x86
push 0x86
jmp 0x4fca53
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x4fc538
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4fc538
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4fc538
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x4fca5d
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
push eax
push 0x86
push 0x86
jmp 0x4fca53
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 0x4fc56a
cmp eax, ecx
jb 0x4fc570
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 0x4fc586
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fc5a1
mov edi, dword [esp + 0x40]
mov esi, edx
cmp esi, edi
jb 0x4fc5a1
cmp esi, edi
setne al
test eax, eax
je 0x4fc6be
mov edi, 0x55018c
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 0x4fc5ba
cmp eax, ecx
jae 0x4fc5c0
mov ecx, eax
mov esi, dword [esp + 0x20]
mov edi, 0x55018c
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4fc5d4
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x4fc5ed
mov esi, dword [esp + 0x40]
cmp eax, esi
jb 0x4fc5ed
cmp eax, esi
setne dl
test edx, edx
je 0x4fc6be
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4fc5fa
mov eax, 0x53115c
push eax
call fcn.00514fba
mov ecx, dword [ebp + 0x1c]
add esp, 4
mov byte [ecx + 0xc], al
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x4fc616
mov eax, 0x53115c
push eax
call fcn.00514fba
mov edx, dword [ebp + 0x1c]
add esp, 4
mov byte [edx + 0xd], al
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
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 0x4fc664
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x4fc65a
mov edi, 0x53115c
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x4fc6ad
jmp 0x4fc6a8
mov ecx, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [ecx + 0xc]
cmp dl, bl
jne 0x4fc693
mov dl, byte [ecx + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4fc693
mov dl, byte [ecx + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4fc693
mov cx, word [ecx + 0x10]
cmp cx, word [eax + 0x10]
je 0x4fca5d
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x4fc6a0
mov edi, 0x53115c
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x4fc6ad
mov esi, 0x53115c
mov ecx, dword [ebp + 0x18]
push 0
call fcn.005016a0
push eax
push edi
jmp 0x4fca40
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.005016a0
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 0x4fc70d
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
push eax
push 0x83
push 0x83
jmp 0x4fca53
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x4fc73c
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4fc73c
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4fc73c
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x4fca5d
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
push eax
push 0x83
push 0x83
jmp 0x4fca53
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x4fc762
mov eax, 0x53115c
push eax
call fcn.00514fba
mov ecx, dword [ebp + 0x1c]
add esp, 4
mov byte [ecx + 0xc], al
mov eax, dword [esp + 0x34]
cmp eax, esi
jne 0x4fc77e
mov eax, 0x53115c
push eax
call fcn.00514fba
mov edx, dword [ebp + 0x1c]
add esp, 4
mov byte [edx + 0xd], al
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
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 0x4fc80b
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jne 0x4fc7c1
mov ebx, 0x53115c
mov eax, dword [esp + 0x48]
cmp eax, esi
mov esi, 0x53115c
je 0x4fc7d0
mov esi, eax
mov ecx, dword [ebp + 0x18]
push edi
call fcn.005016a0
push eax
push ebx
call fcn.00514fba
add esp, 4
push eax
push esi
call fcn.00514fba
add esp, 4
mov ecx, 0x55b398
push eax
call fcn.0048bfd0
push 1
push 0x1e
mov ecx, 0x55b398
call fcn.0048d200
jmp 0x4fca5d
mov ecx, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [ecx + 0xc]
cmp dl, bl
jne 0x4fc83a
mov dl, byte [ecx + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4fc83a
mov dl, byte [ecx + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4fc83a
mov cx, word [ecx + 0x10]
cmp cx, word [eax + 0x10]
je 0x4fca5d
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jne 0x4fc847
mov ebx, 0x53115c
mov eax, dword [esp + 0x48]
cmp eax, esi
mov esi, 0x53115c
je 0x4fc7d0
jmp 0x4fc7ce
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.005016a0
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 0x4fc8a6
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
push eax
push 0x22
push 0x22
jmp 0x4fca53
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x4fc8d5
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4fc8d5
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4fc8d5
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x4fca5d
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
push eax
push 0x22
push 0x22
jmp 0x4fca53
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.005016a0
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 0x4fc931
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
push eax
push 0x42
push 0x42
jmp 0x4fca53
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x4fc960
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4fc960
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4fc960
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x4fca5d
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
push eax
push 0x42
push 0x42
jmp 0x4fca53
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x4fc980
mov eax, 0x53115c
push eax
call fcn.00514fba
mov ecx, dword [ebp + 0x1c]
add esp, 4
mov byte [ecx + 0xc], al
mov eax, dword [esp + 0x34]
cmp eax, esi
jne 0x4fc99c
mov eax, 0x53115c
push eax
call fcn.00514fba
mov edx, dword [ebp + 0x1c]
add esp, 4
mov byte [edx + 0xd], al
mov ecx, dword [ebp + 0x18]
call fcn.005016a0
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 0x4fc9ee
mov ebx, dword [esp + 0x48]
cmp ebx, esi
jne 0x4fc9df
mov ebx, 0x53115c
mov eax, dword [esp + 0x34]
cmp eax, esi
mov esi, 0x53115c
je 0x4fca35
jmp 0x4fca33
mov ecx, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [ecx + 0xc]
cmp dl, bl
jne 0x4fca19
mov dl, byte [ecx + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x4fca19
mov dl, byte [ecx + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x4fca19
mov cx, word [ecx + 0x10]
cmp cx, word [eax + 0x10]
je 0x4fca5d
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jne 0x4fca26
mov ebx, 0x53115c
mov eax, dword [esp + 0x48]
cmp eax, esi
mov esi, 0x53115c
je 0x4fca35
mov esi, eax
mov ecx, dword [ebp + 0x18]
push edi
call fcn.005016a0
push eax
push ebx
call fcn.00514fba
add esp, 4
push eax
push esi
call fcn.00514fba
add esp, 4
push eax
mov ecx, 0x55b398
call fcn.0048bfd0
mov eax, dword [esp + 0x2c]
xor esi, esi
cmp eax, esi
jne 0x4fcb93
cmp byte [esp + 0x14], 0xff
je 0x4fcbd4
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.0040d030
mov ecx, ebp
call fcn.004fce60
mov ecx, dword [esp + 0x20]
mov edi, eax
cmp ecx, esi
je 0x4fcabb
mov al, byte [ecx - 1]
test al, al
je 0x4fcab1
cmp al, 0xff
je 0x4fcab1
dec al
mov byte [ecx - 1], al
jmp 0x4fcabb
dec ecx
push ecx
call fcn.00514120
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 0x4fcaee
mov al, byte [ecx - 1]
test al, al
je 0x4fcae4
cmp al, 0xff
je 0x4fcae4
dec al
mov byte [ecx - 1], al
jmp 0x4fcaee
dec ecx
push ecx
call fcn.00514120
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 0x4fcb27
mov al, byte [ecx - 1]
test al, al
je 0x4fcb1d
cmp al, 0xff
je 0x4fcb1d
dec al
mov byte [ecx - 1], al
jmp 0x4fcb27
dec ecx
push ecx
call fcn.00514120
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 0x4fcb57
mov al, byte [ecx - 1]
test al, al
je 0x4fcb4d
cmp al, 0xff
je 0x4fcb4d
dec al
mov byte [ecx - 1], al
jmp 0x4fcb57
dec ecx
push ecx
call fcn.00514120
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 0x4fcb8c
mov al, byte [ecx - 1]
test al, al
je 0x4fcb82
cmp al, 0xff
je 0x4fcb82
dec al
mov byte [ecx - 1], al
mov eax, edi
jmp 0x4fcdc8
dec ecx
push ecx
call fcn.00514120
add esp, 4
mov eax, edi
jmp 0x4fcdc8
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.0040d030
mov ecx, ebp
call fcn.004fce60
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.0040d030
mov ecx, ebp
call fcn.004fce60
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x4fcbf8
mov al, byte [ecx - 1]
test al, al
je 0x4fcbee
cmp al, 0xff
je 0x4fcbee
dec al
mov byte [ecx - 1], al
jmp 0x4fcbf8
dec ecx
push ecx
call fcn.00514120
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 0x4fcc2b
mov al, byte [ecx - 1]
test al, al
je 0x4fcc21
cmp al, 0xff
je 0x4fcc21
dec al
mov byte [ecx - 1], al
jmp 0x4fcc2b
dec ecx
push ecx
call fcn.00514120
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 0x4fcc64
mov al, byte [ecx - 1]
test al, al
je 0x4fcc5a
cmp al, 0xff
je 0x4fcc5a
dec al
mov byte [ecx - 1], al
jmp 0x4fcc64
dec ecx
push ecx
call fcn.00514120
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 0x4fcc94
mov al, byte [ecx - 1]
test al, al
je 0x4fcc8a
cmp al, 0xff
je 0x4fcc8a
dec al
mov byte [ecx - 1], al
jmp 0x4fcc94
dec ecx
push ecx
call fcn.00514120
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 0x4fcccc
mov al, byte [ecx - 1]
test al, al
je 0x4fccc2
cmp al, 0xff
je 0x4fccc2
dec al
mov byte [ecx - 1], al
mov eax, 1
jmp 0x4fcdc8
dec ecx
push ecx
call fcn.00514120
add esp, 4
mov eax, 1
jmp 0x4fcdc8
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x4fccfa
mov al, byte [ecx - 1]
test al, al
je 0x4fccf0
cmp al, 0xff
je 0x4fccf0
dec al
mov byte [ecx - 1], al
jmp 0x4fccfa
dec ecx
push ecx
call fcn.00514120
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 0x4fcd2d
mov al, byte [ecx - 1]
test al, al
je 0x4fcd23
cmp al, 0xff
je 0x4fcd23
dec al
mov byte [ecx - 1], al
jmp 0x4fcd2d
dec ecx
push ecx
call fcn.00514120
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 0x4fcd66
mov al, byte [ecx - 1]
test al, al
je 0x4fcd5c
cmp al, 0xff
je 0x4fcd5c
dec al
mov byte [ecx - 1], al
jmp 0x4fcd66
dec ecx
push ecx
call fcn.00514120
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 0x4fcd96
mov al, byte [ecx - 1]
test al, al
je 0x4fcd8c
cmp al, 0xff
je 0x4fcd8c
dec al
mov byte [ecx - 1], al
jmp 0x4fcd96
dec ecx
push ecx
call fcn.00514120
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 0x4fcdc6
mov al, byte [ecx - 1]
test al, al
je 0x4fcdbc
cmp al, 0xff
je 0x4fcdbc
dec al
mov byte [ecx - 1], al
jmp 0x4fcdc6
dec ecx
push ecx
call fcn.00514120
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