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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x48f665
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 0x46b684
call fcn.0044b560
cmp eax, 7
je 0x469e98
mov al, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], al
call fcn.004024d0
mov edi, 0x4a643c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4a643c
lea ecx, [esp + 0x4c]
call fcn.00402840
mov cl, byte [esp + 0x12]
push ebx
mov byte [esp + 0x34], cl
lea ecx, [esp + 0x34]
mov dword [esp + 0x224], ebx
call fcn.004024d0
mov edi, 0x4a643c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4a643c
lea ecx, [esp + 0x38]
call fcn.00402840
mov dl, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
mov byte [esp + 0x58], dl
call fcn.004024d0
mov edi, 0x4a643c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4a643c
lea ecx, [esp + 0x5c]
call fcn.00402840
mov al, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
mov byte [esp + 0x88], al
call fcn.004024d0
mov edi, 0x4a643c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4a643c
lea ecx, [esp + 0x8c]
call fcn.00402840
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.0046f150
lea ecx, [esp + 0x1c]
mov byte [esp + 0x220], 4
call fcn.00413210
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x1c]
call fcn.00413210
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x46983d
mov edx, dword [esp + 0x24]
lea ebx, [eax + edx]
lea ecx, [esp + 0x1c]
call fcn.00413210
mov esi, dword [esp + 0x20]
cmp esi, ebx
je 0x469862
movsx eax, byte [esi]
push eax
call fcn.0047f1fa
add esp, 4
mov byte [edi], al
inc esi
inc edi
cmp esi, ebx
jne 0x46984e
push 1
lea ecx, [esp + 0x16]
push 0
mov bl, 0x20
push ecx
lea ecx, [esp + 0x28]
mov byte [esp + 0x1e], bl
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x469916
mov eax, dword [esp + 0x24]
mov edi, 1
cmp eax, esi
jae 0x46989b
call fcn.0047e3c7
lea ecx, [esp + 0x1c]
call fcn.004032b0
mov eax, dword [esp + 0x24]
mov ecx, eax
sub ecx, esi
cmp ecx, 1
jae 0x4698b7
mov edi, ecx
test edi, edi
jbe 0x4698f1
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.0047ea80
mov esi, dword [esp + 0x30]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x1c]
push 0
push esi
call fcn.00402900
test al, al
je 0x4698f1
push esi
lea ecx, [esp + 0x20]
call fcn.004028e0
push 1
lea edx, [esp + 0x16]
push 0
push edx
lea ecx, [esp + 0x28]
mov byte [esp + 0x1e], bl
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
jne 0x469889
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x469988
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x224], 3
call fcn.004024d0
push 1
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
call fcn.004024d0
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
call fcn.004024d0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x224], 0
call fcn.004024d0
push 1
lea ecx, [esp + 0x48]
mov dword [esp + 0x224], 0xffffffff
call fcn.004024d0
jmp 0x46b684
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.004190f0
mov edx, dword [0x49014c]
xor ecx, ecx
cmp eax, edx
setne cl
mov eax, ecx
test eax, eax
je 0x469ea2
lea edx, [esp + 0x1c]
lea eax, [esp + 0x2c]
push edx
push eax
lea ecx, [ebp + 4]
call fcn.0046e1c0
mov esi, dword [eax]
mov eax, dword [ebp + 8]
cmp esi, eax
je 0x46991e
push 2
push 0x49e410
lea ecx, [esp + 0x1c]
call fcn.004041c0
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 5
call fcn.0040fec0
lea ecx, [esp + 0xc4]
mov byte [esp + 0x220], 6
call fcn.00410af0
lea ecx, [esp + 0x64]
mov byte [esp + 0x220], 7
call fcn.00404120
mov ebx, 8
lea ecx, [esp + 0x18]
mov byte [esp + 0x220], bl
call fcn.00404120
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 0x469a7a
mov esi, dword [ebp + 0x20]
mov dl, byte [eax + 0xc]
mov cl, byte [esi + 0xc]
cmp cl, dl
je 0x469ddc
mov dl, byte [esi + 0xd]
mov cl, byte [eax + 0xd]
cmp dl, cl
je 0x469ddc
mov eax, dword [esp + 0x2c]
mov ecx, eax
and ecx, 0xff
add ecx, 0xfffffffe
cmp ecx, 0xd
ja case.0x469a92.3
jmp dword [ecx*4 + 0x46b6a0]
push 3
push 0xc
push 4
push 4
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push 3
push 0xc
push 2
push 2
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push 3
push 0xc
push 0xf
push 0xf
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push 3
push 0xc
push 5
push 5
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push 3
push 0xc
push 6
push 6
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push 3
push 0xc
push 7
push 7
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push 3
push 0xc
push ebx
push ebx
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push 3
push 0xc
push 9
push 9
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push 3
push 0xc
push 0xb
push 0xb
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push 3
push 0xc
push 0xc
push 0xc
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push 3
push 0xc
push 0xd
push 0xd
mov ecx, 0x4a6258
call fcn.00405af0
jmp 0x469ddc
push eax
push 0
lea ecx, [esp + 0x1c]
call fcn.004043f0
push 3
push 0xc
push 3
push 3
mov ecx, 0x4a6258
call fcn.00405af0
push ebx
push 0
push 0x40c2c000
push 0
mov ecx, 0x4a6258
call fcn.004077c0
push 0
push 0
push 1
push 0x12c
mov ecx, 0x4a6258
call fcn.00408930
lea ecx, [esp + 0xe8]
call fcn.0040c540
lea ecx, [esp + 0xe8]
call fcn.0040c6f0
lea edx, [esp + 0xe8]
push 0
push edx
push 0
mov ecx, 0x4a6258
call fcn.0040c710
lea ecx, [esp + 0x74]
call fcn.00410400
lea ecx, [esp + 0xc4]
call fcn.004110f0
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00404130
lea ecx, [esp + 0x68]
call fcn.004042d0
lea ecx, [esp + 0x64]
mov word [esp + 0x68], 1
push ecx
lea ecx, [esp + 0x78]
call fcn.004101f0
sub esp, 0x24
lea eax, [esp + 0x98]
mov edx, esp
mov dword [esp + 0x50], esp
push 0
push eax
push edx
mov ecx, 0x4a6258
call fcn.0040d180
lea ecx, [esp + 0xe8]
call fcn.00410ca0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push ecx
lea ecx, [esp + 0xcc]
call fcn.00411010
lea ecx, [esp + 0x1c]
call fcn.004042d0
lea ecx, [esp + 0x18]
call fcn.00404470
movsx eax, ax
test eax, eax
jg 0x469dc3
mov edx, dword [ebp + 0x28]
mov eax, dword [edx + 0x2018]
test eax, eax
jne 0x469cff
push 0
push 2
sub esp, 0x10
mov ecx, 0x4a6710
mov eax, esp
mov dword [esp + 0x44], esp
push 1
push eax
call fcn.00426540
sub esp, 0x10
mov byte [esp + 0x248], 0xa
mov ecx, esp
mov dword [esp + 0x68], esp
push 0
push ecx
mov ecx, 0x4a6710
call fcn.00426540
mov ecx, 0x4a6290
mov byte [esp + 0x248], 9
call fcn.00412b80
lea ecx, [esp + 0x18]
mov byte [esp + 0x220], bl
call fcn.00404260
lea ecx, [esp + 0x64]
mov byte [esp + 0x220], 7
call fcn.00404260
lea ecx, [esp + 0xc4]
mov byte [esp + 0x220], 6
call fcn.00410bf0
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 5
call fcn.0040fee0
lea ecx, [esp + 0x14]
mov byte [esp + 0x220], 4
call fcn.00404260
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x224], 3
call fcn.004024d0
push 1
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
call fcn.004024d0
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
call fcn.004024d0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x224], 0
call fcn.004024d0
push 1
lea ecx, [esp + 0x48]
mov dword [esp + 0x224], 0xffffffff
call fcn.004024d0
or eax, 0xffffffff
jmp 0x46b686
push 3
push 0xc
push 1
push 1
mov ecx, 0x4a6258
call fcn.00405af0
mov ecx, ebp
call fcn.00469660
lea ecx, [esp + 0x18]
mov byte [esp + 0x220], bl
call fcn.00404260
lea ecx, [esp + 0x64]
mov byte [esp + 0x220], 7
call fcn.00404260
lea ecx, [esp + 0xc4]
mov byte [esp + 0x220], 6
call fcn.00410bf0
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 5
call fcn.0040fee0
lea ecx, [esp + 0x14]
mov byte [esp + 0x220], 4
call fcn.00404260
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x224], 3
call fcn.004024d0
push 1
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 2
call fcn.004024d0
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 1
call fcn.004024d0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x224], 0
call fcn.004024d0
push 1
lea ecx, [esp + 0x48]
mov dword [esp + 0x224], 0xffffffff
call fcn.004024d0
mov eax, 1
jmp 0x46b686
mov edi, 0x49c5c0
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 0x49c5c0
lea ecx, [esp + 0x28]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46a7ff
push esi
lea edx, [esp + 0x68]
push 0
push edx
lea ecx, [esp + 0x28]
call fcn.00418dd0
mov eax, dword [0x49014c]
inc esi
push eax
lea ecx, [esp + 0x78]
push esi
push ecx
lea ecx, [esp + 0x28]
mov byte [esp + 0x22c], 0xb
call fcn.00418dd0
mov edi, 0x49e40c
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 0x49e40c
lea ecx, [esp + 0x70]
call fcn.004190f0
cmp eax, dword [0x49014c]
je 0x46a16a
mov dl, byte [esp + 0x12]
push 0
lea ecx, [esp + 0x98]
mov dword [esp + 0x30], 1
mov byte [esp + 0x98], dl
call fcn.004024d0
mov edi, 0x4a643c
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.00402900
test al, al
je 0x469fa8
mov edi, dword [esp + 0x98]
mov ecx, ebx
mov eax, ecx
mov esi, 0x4a643c
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.004028e0
mov cl, byte [esp + 0x74]
push 0
mov byte [esp + 0xb8], cl
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0x13
call fcn.004024d0
mov edx, dword [0x49014c]
lea eax, [esp + 0x74]
push edx
push 0
push eax
lea ecx, [esp + 0xc0]
call fcn.0040f3e0
mov edi, 0x49e40c
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 0x49e40c
lea ecx, [esp + 0x70]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46a0a8
lea ecx, [esi + 1]
push eax
lea edx, [esp + 0xa8]
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.00418dd0
mov ecx, dword [0x49014c]
mov byte [esp + 0x220], 0x15
push ecx
push 0
push eax
lea ecx, [esp + 0xa0]
call fcn.0040f3e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.004024d0
push esi
lea edx, [esp + 0xa8]
push 0
push edx
lea ecx, [esp + 0x70]
call fcn.00418dd0
mov ecx, dword [0x49014c]
mov byte [esp + 0x220], 0x16
push ecx
push 0
push eax
lea ecx, [esp + 0x70]
call fcn.0040f3e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.004024d0
mov edi, 0x49d4a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x49d4a0
lea ecx, [esp + 0x70]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46a5a1
push esi
lea edx, [esp + 0xa8]
push 0
push edx
lea ecx, [esp + 0x70]
call fcn.00418dd0
mov ecx, dword [0x49014c]
mov byte [esp + 0x220], 0x17
push ecx
push 0
push eax
lea ecx, [esp + 0x3c]
call fcn.0040f3e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.004024d0
mov edx, dword [0x49014c]
inc esi
push edx
lea eax, [esp + 0xa8]
push esi
push eax
lea ecx, [esp + 0x70]
call fcn.00418dd0
mov eax, dword [eax + 4]
test eax, eax
jne 0x46a141
mov eax, 0x490148
push eax
call fcn.0047f06e
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xa4]
push 1
sete bl
call fcn.004024d0
neg bl
sbb bl, bl
and ebx, 2
jmp 0x46a5b4
mov edi, 0x49d4a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x49d4a0
lea ecx, [esp + 0x70]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46a229
push esi
lea edx, [esp + 0xb8]
push 0
push edx
lea ecx, [esp + 0x70]
call fcn.00418dd0
mov ecx, dword [0x49014c]
mov byte [esp + 0x220], 0xd
push ecx
push 0
push eax
lea ecx, [esp + 0x3c]
call fcn.0040f3e0
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0xc
call fcn.004024d0
mov edx, dword [0x49014c]
inc esi
push edx
lea eax, [esp + 0xb8]
push esi
push eax
lea ecx, [esp + 0x70]
call fcn.00418dd0
mov eax, dword [eax + 4]
test eax, eax
jne 0x46a203
mov eax, 0x490148
push eax
call fcn.0047f06e
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xb4]
push 1
sete bl
call fcn.004024d0
neg bl
sbb bl, bl
and ebx, 2
jmp 0x46a23c
push eax
lea ecx, [esp + 0x68]
push 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.0040f3e0
mov bl, 2
mov edi, 0x49e40c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x49e40c
lea ecx, [esp + 0x80]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46a4b5
push eax
lea edx, [esi + 1]
lea eax, [esp + 0xb8]
push edx
push eax
lea ecx, [esp + 0x80]
call fcn.00418dd0
push esi
lea ecx, [esp + 0x98]
push 0
push ecx
lea ecx, [esp + 0x80]
mov byte [esp + 0x22c], 0xe
call fcn.00418dd0
mov edx, dword [0x49014c]
lea ecx, [esp + 0x74]
push edx
push 0
push eax
mov byte [esp + 0x22c], 0xf
call fcn.0040f3e0
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x224], 0xe
call fcn.004024d0
mov edi, 0x49d4a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x49d4a0
lea ecx, [esp + 0x80]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
push eax
je 0x46a3a3
lea eax, [esp + 0x98]
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.00418dd0
mov ecx, dword [0x49014c]
mov byte [esp + 0x220], 0x10
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.0040f3e0
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x224], 0xe
call fcn.004024d0
mov edx, dword [0x49014c]
inc esi
push edx
lea eax, [esp + 0x98]
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.00418dd0
mov eax, dword [eax + 4]
test eax, eax
jne 0x46a377
mov eax, 0x490148
push eax
call fcn.0047f06e
add esp, 4
cmp eax, 1
lea ecx, [esp + 0x94]
push 1
sete byte [esp + 0x16]
call fcn.004024d0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x13]
jmp 0x46a3b8
lea ecx, [esp + 0x78]
push 0
push ecx
lea ecx, [esp + 0x50]
call fcn.0040f3e0
mov byte [esp + 0x13], 1
mov edi, 0x49d4a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x49d4a0
lea ecx, [esp + 0xc0]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46a486
push esi
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [esp + 0xc0]
call fcn.00418dd0
mov ecx, dword [0x49014c]
mov byte [esp + 0x220], 0x11
push ecx
push 0
push eax
lea ecx, [esp + 0x60]
call fcn.0040f3e0
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x224], 0xe
call fcn.004024d0
mov edx, dword [0x49014c]
inc esi
push edx
lea eax, [esp + 0x98]
push esi
push eax
lea ecx, [esp + 0xc0]
call fcn.00418dd0
mov eax, dword [eax + 4]
test eax, eax
jne 0x46a45a
mov eax, 0x490148
push eax
call fcn.0047f06e
add esp, 4
cmp eax, 1
lea ecx, [esp + 0x94]
push 1
sete byte [esp + 0x16]
call fcn.004024d0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x46a49f
push eax
lea ecx, [esp + 0xb8]
push 0
push ecx
lea ecx, [esp + 0x60]
call fcn.0040f3e0
mov byte [esp + 0x14], 1
mov byte [esp + 0x220], 0xc
push 1
lea ecx, [esp + 0xb8]
jmp 0x46a7cf
mov edi, 0x49d4a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x49d4a0
lea ecx, [esp + 0x80]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46a586
push esi
lea edx, [esp + 0xb8]
push 0
push edx
lea ecx, [esp + 0x80]
call fcn.00418dd0
mov ecx, dword [0x49014c]
mov byte [esp + 0x220], 0x12
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.0040f3e0
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0xc
call fcn.004024d0
mov edx, dword [0x49014c]
inc esi
push edx
lea eax, [esp + 0xb8]
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.00418dd0
mov eax, dword [eax + 4]
test eax, eax
jne 0x46a557
mov eax, 0x490148
push eax
call fcn.0047f06e
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xb4]
push 1
sete byte [esp + 0x16]
call fcn.004024d0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x13]
jmp 0x46a7d4
push eax
lea ecx, [esp + 0x78]
push 0
push ecx
lea ecx, [esp + 0x50]
call fcn.0040f3e0
mov byte [esp + 0x13], 1
jmp 0x46a7d4
push eax
lea ecx, [esp + 0x68]
push 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.0040f3e0
mov bl, 2
mov edx, dword [0x49014c]
lea eax, [esp + 0x30]
push edx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.0040f3e0
test bl, bl
jne 0x46a5d3
mov byte [esp + 0x13], bl
mov edi, 0x49d4a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x49d4a0
lea ecx, [esp + 0xa0]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46a6a0
push esi
lea ecx, [esp + 0xa8]
push 0
push ecx
lea ecx, [esp + 0xa0]
call fcn.00418dd0
mov edx, dword [0x49014c]
lea ecx, [esp + 0x54]
push edx
push 0
push eax
mov byte [esp + 0x22c], 0x18
call fcn.0040f3e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.004024d0
mov eax, dword [0x49014c]
inc esi
push eax
lea ecx, [esp + 0xa8]
push esi
push ecx
lea ecx, [esp + 0xa0]
call fcn.00418dd0
mov eax, dword [eax + 4]
test eax, eax
jne 0x46a674
mov eax, 0x490148
push eax
call fcn.0047f06e
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xa4]
push 1
sete byte [esp + 0x16]
call fcn.004024d0
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x46a6b9
push eax
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [esp + 0x60]
call fcn.0040f3e0
mov byte [esp + 0x14], 1
mov edi, 0x49d4a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x49d4a0
lea ecx, [esp + 0xc0]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46a78c
push esi
lea eax, [esp + 0xa8]
push 0
push eax
lea ecx, [esp + 0xc0]
call fcn.00418dd0
mov ecx, dword [0x49014c]
mov byte [esp + 0x220], 0x19
push ecx
push 0
push eax
lea ecx, [esp + 0x90]
call fcn.0040f3e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x14
call fcn.004024d0
mov edx, dword [0x49014c]
inc esi
push edx
lea eax, [esp + 0xa8]
push esi
push eax
lea ecx, [esp + 0xc0]
call fcn.00418dd0
mov eax, dword [eax + 4]
test eax, eax
jne 0x46a75e
mov eax, 0x490148
push eax
call fcn.0047f06e
add esp, 4
cmp eax, 1
lea ecx, [esp + 0xa4]
push 1
sete byte [esp + 0x16]
call fcn.004024d0
mov al, byte [esp + 0x12]
test al, al
setne cl
mov byte [esp + 0x18], cl
jmp 0x46a7a8
push eax
lea edx, [esp + 0xb8]
push 0
push edx
lea ecx, [esp + 0x90]
call fcn.0040f3e0
mov byte [esp + 0x18], 1
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x224], 0x13
call fcn.004024d0
mov byte [esp + 0x220], 0xc
push 1
lea ecx, [esp + 0x98]
call fcn.004024d0
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0x224], 0xb
call fcn.004024d0
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x224], 4
call fcn.004024d0
jmp 0x46ace3
mov edi, 0x49e40c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x49e40c
lea ecx, [esp + 0x28]
call fcn.004190f0
mov ecx, dword [0x49014c]
mov dword [esp + 0x40], eax
cmp eax, ecx
je 0x46ab3b
push eax
lea eax, [esp + 0x98]
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.00418dd0
mov edi, 0x49d4a0
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 0x49d4a0
lea ecx, [esp + 0xa0]
call fcn.004190f0
mov esi, eax
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46a942
push esi
lea ecx, [esp + 0xa8]
push 0
push ecx
lea ecx, [esp + 0xa0]
call fcn.00418dd0
mov edx, dword [0x49014c]
lea ecx, [esp + 0x30]
push edx
push 0
push eax
mov byte [esp + 0x22c], 0x1b
call fcn.0040f3e0
mov ecx, dword [0x49014c]
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.0040f3e0
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 0x1a
call fcn.004024d0
mov edx, dword [0x49014c]
inc esi
push edx
lea eax, [esp + 0xa8]
push esi
push eax
lea ecx, [esp + 0xa0]
call fcn.00418dd0
mov eax, dword [eax + 4]
test eax, eax
jne 0x46a901
mov eax, 0x490148
push eax
call fcn.0047f06e
add esp, 4
cmp eax, 1
mov eax, dword [esp + 0xa8]
sete bl
test eax, eax
je 0x46a938
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46a92f
cmp al, 0xff
je 0x46a92f
dec al
mov byte [ecx], al
jmp 0x46a938
push ecx
call fcn.0047e190
add esp, 4
test bl, bl
jne 0x46a969
mov byte [esp + 0x13], bl
jmp 0x46a970
push eax
lea ecx, [esp + 0x98]
push 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.0040f3e0
mov edx, dword [0x49014c]
lea ecx, [esp + 0x44]
push edx
push 0
push eax
call fcn.0040f3e0
mov byte [esp + 0x13], 1
mov bl, 2
mov ecx, dword [esp + 0x40]
mov eax, dword [0x49014c]
inc ecx
push eax
lea edx, [esp + 0xa8]
push ecx
push edx
lea ecx, [esp + 0x28]
call fcn.00418dd0
mov ecx, dword [0x49014c]
xor esi, esi
push ecx
push esi
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x22c], 0x1c
call fcn.0040f3e0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x220], 0x1a
cmp eax, esi
je 0x46a9dc
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46a9d3
cmp al, 0xff
je 0x46a9d3
dec al
mov byte [ecx], al
jmp 0x46a9dc
push ecx
call fcn.0047e190
add esp, 4
mov edi, 0x49d4a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x49d4a0
lea ecx, [esp + 0xa0]
call fcn.004190f0
mov edi, eax
mov eax, dword [0x49014c]
cmp edi, eax
je 0x46aae7
push edi
lea edx, [esp + 0xa8]
push esi
push edx
lea ecx, [esp + 0xa0]
call fcn.00418dd0
mov ecx, dword [0x49014c]
mov byte [esp + 0x220], 0x1d
push ecx
push esi
push eax
lea ecx, [esp + 0x60]
call fcn.0040f3e0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x220], 0x1a
cmp eax, esi
je 0x46aa6d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46aa64
cmp al, 0xff
je 0x46aa64
dec al
mov byte [ecx], al
jmp 0x46aa6d
push ecx
call fcn.0047e190
add esp, 4
mov edx, dword [0x49014c]
inc edi
push edx
lea eax, [esp + 0xa8]
push edi
push eax
lea ecx, [esp + 0xa0]
call fcn.00418dd0
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x46aa96
mov eax, 0x490148
push eax
call fcn.0047f06e
add esp, 4
cmp eax, 1
mov eax, dword [esp + 0xa8]
sete byte [esp + 0x12]
cmp eax, esi
je 0x46aada
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46aad1
cmp al, 0xff
je 0x46aad1
dec al
mov byte [ecx], al
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x46aaff
push ecx
call fcn.0047e190
add esp, 4
mov al, byte [esp + 0x12]
test al, al
setne byte [esp + 0x14]
jmp 0x46aaff
push eax
lea ecx, [esp + 0x98]
push esi
push ecx
lea ecx, [esp + 0x60]
call fcn.0040f3e0
mov byte [esp + 0x14], 1
mov eax, dword [esp + 0x98]
mov byte [esp + 0x220], 4
cmp eax, esi
je 0x46ace5
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46ab2d
cmp al, 0xff
je 0x46ab2d
dec al
mov byte [ecx], al
jmp 0x46ace5
push ecx
call fcn.0047e190
add esp, 4
jmp 0x46ace5
mov edi, 0x49d4a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x64], ecx
jne 0x46ab54
xor esi, esi
jmp 0x46abcb
mov ebx, dword [esp + 0x24]
test ebx, ebx
jbe 0x46abc5
mov eax, dword [esp + 0x64]
cmp eax, ebx
ja 0x46abc5
movsx ecx, byte [0x49d4a0]
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.0047f510
add esp, 0xc
test eax, eax
je 0x46abc5
mov ecx, dword [esp + 0x64]
mov edi, 0x49d4a0
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x46ac41
mov ecx, dword [esp + 0x40]
movsx edx, byte [0x49d4a0]
sub ecx, eax
inc eax
mov dword [esp + 0x40], eax
lea ebx, [ebx + ecx - 1]
push ebx
push edx
push eax
call fcn.0047f510
add esp, 0xc
test eax, eax
jne 0x46ab8b
mov esi, dword [0x49014c]
mov eax, dword [0x49014c]
cmp esi, eax
je 0x46acb8
push esi
lea eax, [esp + 0xa8]
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.00418dd0
mov ecx, dword [0x49014c]
mov byte [esp + 0x220], 0x1e
push ecx
push 0
push eax
lea ecx, [esp + 0x3c]
call fcn.0040f3e0
mov edx, dword [0x49014c]
lea ecx, [esp + 0x44]
push edx
push 0
push eax
call fcn.0040f3e0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x220], 4
test eax, eax
je 0x46ac52
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46ac49
cmp al, 0xff
je 0x46ac49
dec al
mov byte [ecx], al
jmp 0x46ac52
sub eax, dword [esp + 0x20]
mov esi, eax
jmp 0x46abcb
push ecx
call fcn.0047e190
add esp, 4
mov eax, dword [0x49014c]
inc esi
push eax
lea ecx, [esp + 0xa8]
push esi
push ecx
lea ecx, [esp + 0x28]
call fcn.00418dd0
mov eax, dword [eax + 4]
test eax, eax
jne 0x46ac77
mov eax, 0x490148
push eax
call fcn.0047f06e
add esp, 4
cmp eax, 1
mov eax, dword [esp + 0xa8]
sete bl
test eax, eax
je 0x46acae
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46aca5
cmp al, 0xff
je 0x46aca5
dec al
mov byte [ecx], al
jmp 0x46acae
push ecx
call fcn.0047e190
add esp, 4
test bl, bl
jne 0x46acdc
mov byte [esp + 0x13], bl
jmp 0x46ace3
push eax
lea edx, [esp + 0x20]
push 0
push edx
lea ecx, [esp + 0x3c]
call fcn.0040f3e0
mov ecx, dword [0x49014c]
push ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.0040f3e0
mov byte [esp + 0x13], 1
mov bl, 2
xor esi, esi
cmp dword [esp + 0x4c], esi
je 0x46b594
cmp dword [esp + 0x38], esi
je 0x46b594
mov ecx, dword [ebp + 0x18]
call fcn.0044b560
add eax, 0xfffffffd
cmp eax, 0x25
ja case.0x46ad15.7
xor edx, edx
mov dl, byte [eax + 0x46b6ec]
jmp dword [edx*4 + 0x46b6d8]
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 0x46ad39
cmp eax, ecx
jb 0x46ad3f
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 0x46ad55
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46ae0f
mov edi, dword [esp + 0x40]
mov esi, edx
cmp esi, edi
jb 0x46ae0f
cmp esi, edi
setne al
test eax, eax
jne 0x46ae0f
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.0046fdf0
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 0x46adc7
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
push eax
push 0x86
push 0x86
jmp 0x46b311
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x46adf6
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x46adf6
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x46adf6
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x46b31b
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
push eax
push 0x86
push 0x86
jmp 0x46b311
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 0x46ae28
cmp eax, ecx
jb 0x46ae2e
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 0x46ae44
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46ae5f
mov edi, dword [esp + 0x40]
mov esi, edx
cmp esi, edi
jb 0x46ae5f
cmp esi, edi
setne al
test eax, eax
je 0x46af7c
mov edi, 0x49e3f8
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 0x46ae78
cmp eax, ecx
jae 0x46ae7e
mov ecx, eax
mov esi, dword [esp + 0x20]
mov edi, 0x49e3f8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x46ae92
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x46aeab
mov esi, dword [esp + 0x40]
cmp eax, esi
jb 0x46aeab
cmp eax, esi
setne dl
test edx, edx
je 0x46af7c
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x46aeb8
mov eax, 0x490148
push eax
call fcn.0047f06e
mov ecx, dword [ebp + 0x1c]
add esp, 4
mov byte [ecx + 0xc], al
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x46aed4
mov eax, 0x490148
push eax
call fcn.0047f06e
mov edx, dword [ebp + 0x1c]
add esp, 4
mov byte [edx + 0xd], al
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
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 0x46af22
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x46af18
mov edi, 0x490148
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x46af6b
jmp 0x46af66
mov ecx, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [ecx + 0xc]
cmp dl, bl
jne 0x46af51
mov dl, byte [ecx + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x46af51
mov dl, byte [ecx + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x46af51
mov cx, word [ecx + 0x10]
cmp cx, word [eax + 0x10]
je 0x46b31b
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x46af5e
mov edi, 0x490148
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x46af6b
mov esi, 0x490148
mov ecx, dword [ebp + 0x18]
push 0
call fcn.0046fdf0
push eax
push edi
jmp 0x46b2fe
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.0046fdf0
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 0x46afcb
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
push eax
push 0x83
push 0x83
jmp 0x46b311
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x46affa
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x46affa
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x46affa
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x46b31b
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
push eax
push 0x83
push 0x83
jmp 0x46b311
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x46b020
mov eax, 0x490148
push eax
call fcn.0047f06e
mov ecx, dword [ebp + 0x1c]
add esp, 4
mov byte [ecx + 0xc], al
mov eax, dword [esp + 0x34]
cmp eax, esi
jne 0x46b03c
mov eax, 0x490148
push eax
call fcn.0047f06e
mov edx, dword [ebp + 0x1c]
add esp, 4
mov byte [edx + 0xd], al
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
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 0x46b0c9
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jne 0x46b07f
mov ebx, 0x490148
mov eax, dword [esp + 0x48]
cmp eax, esi
mov esi, 0x490148
je 0x46b08e
mov esi, eax
mov ecx, dword [ebp + 0x18]
push edi
call fcn.0046fdf0
push eax
push ebx
call fcn.0047f06e
add esp, 4
push eax
push esi
call fcn.0047f06e
add esp, 4
mov ecx, 0x4a6258
push eax
call fcn.00405af0
push 1
push 0x1e
mov ecx, 0x4a6258
call fcn.00406d20
jmp 0x46b31b
mov ecx, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [ecx + 0xc]
cmp dl, bl
jne 0x46b0f8
mov dl, byte [ecx + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x46b0f8
mov dl, byte [ecx + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x46b0f8
mov cx, word [ecx + 0x10]
cmp cx, word [eax + 0x10]
je 0x46b31b
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jne 0x46b105
mov ebx, 0x490148
mov eax, dword [esp + 0x48]
cmp eax, esi
mov esi, 0x490148
je 0x46b08e
jmp 0x46b08c
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.0046fdf0
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 0x46b164
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
push eax
push 0x22
push 0x22
jmp 0x46b311
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x46b193
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x46b193
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x46b193
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x46b31b
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
push eax
push 0x22
push 0x22
jmp 0x46b311
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.0046fdf0
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 0x46b1ef
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
push eax
push 0x42
push 0x42
jmp 0x46b311
mov esi, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
cmp dl, bl
jne 0x46b21e
mov dl, byte [esi + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x46b21e
mov dl, byte [esi + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x46b21e
mov dx, word [esi + 0x10]
cmp dx, word [eax + 0x10]
je 0x46b31b
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
push eax
push 0x42
push 0x42
jmp 0x46b311
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x46b23e
mov eax, 0x490148
push eax
call fcn.0047f06e
mov ecx, dword [ebp + 0x1c]
add esp, 4
mov byte [ecx + 0xc], al
mov eax, dword [esp + 0x34]
cmp eax, esi
jne 0x46b25a
mov eax, 0x490148
push eax
call fcn.0047f06e
mov edx, dword [ebp + 0x1c]
add esp, 4
mov byte [edx + 0xd], al
mov ecx, dword [ebp + 0x18]
call fcn.0046fdf0
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 0x46b2ac
mov ebx, dword [esp + 0x48]
cmp ebx, esi
jne 0x46b29d
mov ebx, 0x490148
mov eax, dword [esp + 0x34]
cmp eax, esi
mov esi, 0x490148
je 0x46b2f3
jmp 0x46b2f1
mov ecx, dword [ebp + 0x20]
mov bl, byte [eax + 0xc]
mov dl, byte [ecx + 0xc]
cmp dl, bl
jne 0x46b2d7
mov dl, byte [ecx + 0xd]
mov bl, byte [eax + 0xd]
cmp dl, bl
jne 0x46b2d7
mov dl, byte [ecx + 0xe]
mov bl, byte [eax + 0xe]
cmp dl, bl
jne 0x46b2d7
mov cx, word [ecx + 0x10]
cmp cx, word [eax + 0x10]
je 0x46b31b
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jne 0x46b2e4
mov ebx, 0x490148
mov eax, dword [esp + 0x48]
cmp eax, esi
mov esi, 0x490148
je 0x46b2f3
mov esi, eax
mov ecx, dword [ebp + 0x18]
push edi
call fcn.0046fdf0
push eax
push ebx
call fcn.0047f06e
add esp, 4
push eax
push esi
call fcn.0047f06e
add esp, 4
push eax
mov ecx, 0x4a6258
call fcn.00405af0
mov eax, dword [esp + 0x2c]
xor esi, esi
cmp eax, esi
jne 0x46b451
cmp byte [esp + 0x14], 0xff
je 0x46b492
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.004023b0
mov ecx, ebp
call fcn.0046b720
mov ecx, dword [esp + 0x20]
mov edi, eax
cmp ecx, esi
je 0x46b379
mov al, byte [ecx - 1]
test al, al
je 0x46b36f
cmp al, 0xff
je 0x46b36f
dec al
mov byte [ecx - 1], al
jmp 0x46b379
dec ecx
push ecx
call fcn.0047e190
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 0x46b3ac
mov al, byte [ecx - 1]
test al, al
je 0x46b3a2
cmp al, 0xff
je 0x46b3a2
dec al
mov byte [ecx - 1], al
jmp 0x46b3ac
dec ecx
push ecx
call fcn.0047e190
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 0x46b3e5
mov al, byte [ecx - 1]
test al, al
je 0x46b3db
cmp al, 0xff
je 0x46b3db
dec al
mov byte [ecx - 1], al
jmp 0x46b3e5
dec ecx
push ecx
call fcn.0047e190
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 0x46b415
mov al, byte [ecx - 1]
test al, al
je 0x46b40b
cmp al, 0xff
je 0x46b40b
dec al
mov byte [ecx - 1], al
jmp 0x46b415
dec ecx
push ecx
call fcn.0047e190
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 0x46b44a
mov al, byte [ecx - 1]
test al, al
je 0x46b440
cmp al, 0xff
je 0x46b440
dec al
mov byte [ecx - 1], al
mov eax, edi
jmp 0x46b686
dec ecx
push ecx
call fcn.0047e190
add esp, 4
mov eax, edi
jmp 0x46b686
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.004023b0
mov ecx, ebp
call fcn.0046b720
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.004023b0
mov ecx, ebp
call fcn.0046b720
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x46b4b6
mov al, byte [ecx - 1]
test al, al
je 0x46b4ac
cmp al, 0xff
je 0x46b4ac
dec al
mov byte [ecx - 1], al
jmp 0x46b4b6
dec ecx
push ecx
call fcn.0047e190
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 0x46b4e9
mov al, byte [ecx - 1]
test al, al
je 0x46b4df
cmp al, 0xff
je 0x46b4df
dec al
mov byte [ecx - 1], al
jmp 0x46b4e9
dec ecx
push ecx
call fcn.0047e190
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 0x46b522
mov al, byte [ecx - 1]
test al, al
je 0x46b518
cmp al, 0xff
je 0x46b518
dec al
mov byte [ecx - 1], al
jmp 0x46b522
dec ecx
push ecx
call fcn.0047e190
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 0x46b552
mov al, byte [ecx - 1]
test al, al
je 0x46b548
cmp al, 0xff
je 0x46b548
dec al
mov byte [ecx - 1], al
jmp 0x46b552
dec ecx
push ecx
call fcn.0047e190
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 0x46b58a
mov al, byte [ecx - 1]
test al, al
je 0x46b580
cmp al, 0xff
je 0x46b580
dec al
mov byte [ecx - 1], al
mov eax, 1
jmp 0x46b686
dec ecx
push ecx
call fcn.0047e190
add esp, 4
mov eax, 1
jmp 0x46b686
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x46b5b8
mov al, byte [ecx - 1]
test al, al
je 0x46b5ae
cmp al, 0xff
je 0x46b5ae
dec al
mov byte [ecx - 1], al
jmp 0x46b5b8
dec ecx
push ecx
call fcn.0047e190
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 0x46b5eb
mov al, byte [ecx - 1]
test al, al
je 0x46b5e1
cmp al, 0xff
je 0x46b5e1
dec al
mov byte [ecx - 1], al
jmp 0x46b5eb
dec ecx
push ecx
call fcn.0047e190
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 0x46b624
mov al, byte [ecx - 1]
test al, al
je 0x46b61a
cmp al, 0xff
je 0x46b61a
dec al
mov byte [ecx - 1], al
jmp 0x46b624
dec ecx
push ecx
call fcn.0047e190
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 0x46b654
mov al, byte [ecx - 1]
test al, al
je 0x46b64a
cmp al, 0xff
je 0x46b64a
dec al
mov byte [ecx - 1], al
jmp 0x46b654
dec ecx
push ecx
call fcn.0047e190
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 0x46b684
mov al, byte [ecx - 1]
test al, al
je 0x46b67a
cmp al, 0xff
je 0x46b67a
dec al
mov byte [ecx - 1], al
jmp 0x46b684
dec ecx
push ecx
call fcn.0047e190
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