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

Disassembly:
push 0xffffffffffffffff
push 0x4a969d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10c
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov dword [esp + 0x40], ebp
mov al, byte [esp + 0x13]
xor esi, esi
mov dword [esp + 0x124], esi
mov byte [esp + 0x50], al
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
push esi
lea ecx, [esp + 0x18]
mov byte [esp + 0x128], 1
call fcn.00475930
push esi
lea ecx, [esp + 0x40]
mov byte [esp + 0x128], 2
call fcn.00475930
push esi
lea ecx, [esp + 0x78]
mov byte [esp + 0x128], 3
call fcn.00475930
push esi
lea ecx, [esp + 0xb0]
mov byte [esp + 0x128], 4
call fcn.00475930
push esi
lea ecx, [esp + 0x68]
mov byte [esp + 0x128], 5
call fcn.00475930
push esi
lea ecx, [esp + 0x6c]
mov byte [esp + 0x128], 6
call fcn.00475930
lea ecx, [esp + 0xc0]
mov byte [esp + 0x124], 7
mov byte [esp + 0x60], 0
mov byte [esp + 0x88], 0
call fcn.0047a3a0
mov cl, byte [esp + 0x13]
push esi
mov byte [esp + 0x24], cl
lea ecx, [esp + 0x24]
mov byte [esp + 0x128], 8
call fcn.0041ba60
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x24]
push ebx
call fcn.0041c2e0
test al, al
je 0x45fcb4
mov edi, dword [esp + 0x24]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ebx
xor esi, esi
mov byte [ebx + eax], 0
mov cl, byte [esp + 0x13]
push esi
mov byte [esp + 0x90], cl
lea ecx, [esp + 0x90]
mov byte [esp + 0x128], 9
call fcn.0041ba60
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x90]
push ebx
call fcn.0041c2e0
test al, al
je 0x45fd28
mov edi, dword [esp + 0x90]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x94], ebx
xor esi, esi
mov byte [ebx + eax], 0
mov cl, byte [esp + 0x13]
push esi
mov byte [esp + 0x7c], cl
lea ecx, [esp + 0x7c]
mov byte [esp + 0x128], 0xa
call fcn.0041ba60
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x7c]
push ebx
call fcn.0041c2e0
test al, al
je 0x45fd8b
mov edi, dword [esp + 0x7c]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x80], ebx
mov byte [ebx + eax], 0
xor edi, edi
lea ecx, [esp + 0x6c]
push edi
mov byte [esp + 0x128], 0xb
call fcn.00475930
push 5
lea ecx, [esp + 0x130]
mov byte [esp + 0x128], 0xc
mov byte [esp + 0x17], 0
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x68]
call fcn.00475ae0
push 6
lea ecx, [esp + 0x130]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x6c]
call fcn.00475ae0
push 1
lea ecx, [esp + 0x130]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x40]
call fcn.00475ae0
push 8
lea ecx, [esp + 0x130]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0xb0]
call fcn.00475ae0
push edi
lea ecx, [esp + 0xb0]
call fcn.00475c70
lea esi, [ebp + 0x1c]
mov bl, al
push 7
mov ecx, esi
mov byte [esp + 0xa4], bl
mov dword [esp + 0x74], esi
call fcn.00475c70
inc al
mov ecx, esi
push eax
push 7
call fcn.00475c80
push 0x4c4538
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.00475910
mov ecx, ebp
call fcn.00447c50
cmp ax, 1
mov dword [esp + 0x48], edi
jne 0x461039
push edi
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x78]
call fcn.00475ae0
lea ecx, [esp + 0x74]
call fcn.00475d00
mov ecx, dword [esp + 0xa0]
and ecx, 0xff
movsx edx, ax
inc ecx
cmp edx, ecx
jle 0x461039
xor ax, ax
lea ecx, [esp + 0x74]
mov al, bl
lea esi, [eax + 1]
push esi
call fcn.00475c70
cmp al, 0x80
mov edi, 1
jne 0x45ff03
mov dword [esp + 0x48], edi
mov byte [esp + 0x60], 4
push esi
lea ecx, [esp + 0x78]
call fcn.00475c70
cmp al, 0xa0
jne 0x45ff1c
mov dword [esp + 0x48], edi
mov byte [esp + 0x60], 5
jmp 0x45ff27
cmp word [esp + 0x48], di
jne 0x461039
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0
call fcn.00475930
mov ecx, dword [esp + 0x44]
add ecx, 0x20
call fcn.00475ae0
mov edx, dword [esp + 0x40]
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
lea eax, [edx + 0x18]
push eax
call fcn.00475910
mov ecx, dword [0x4c45c4]
call fcn.004798f0
mov ebx, dword [esp + 0x70]
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push ebx
call fcn.00475910
lea ecx, [esp + 0x18]
call fcn.00475ae0
mov al, byte [esp + 0x13]
test al, al
jne 0x460039
push 7
mov ecx, ebx
mov byte [esp + 0x17], 1
call fcn.00475c70
add al, 6
lea ecx, [esp + 0x14]
push eax
push 7
call fcn.00475c80
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.00475910
sub esp, 0x10
lea edx, [esp + 0xb1]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
push str.UINFO.DB
mov byte [esp + 0x140], 0xd
call fcn.0041b350
mov ecx, dword [0x4c4560]
lea eax, [esp + 0x64]
push eax
mov byte [esp + 0x13c], 0xc
call fcn.0042cec0
test ax, ax
je 0x460f10
mov ecx, dword [0x4c45c4]
push 1
call fcn.00479af0
push 9
lea ecx, [esp + 0x54]
call fcn.0041b6f0
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x28], esp
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00475910
push esi
call fcn.00477540
mov ecx, dword [0x4c45c4]
add esp, 8
call fcn.00479b20
push 7
mov ecx, ebx
call fcn.00475c70
add al, 3
lea ecx, [esp + 0x14]
push eax
push 7
call fcn.00475c80
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00475910
sub esp, 0x10
lea eax, [esp + 0xb2]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
push str.UINFO.DB
mov byte [esp + 0x140], 0xe
call fcn.0041b350
lea ecx, [esp + 0x64]
mov byte [esp + 0x138], 0xc
push ecx
mov ecx, dword [0x4c4560]
call fcn.0042cec0
test ax, ax
je 0x460f10
push 1
push 9
lea ecx, [esp + 0x58]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00475910
mov ecx, dword [0x4c45c4]
call fcn.00479a70
push 7
mov ecx, ebx
call fcn.00475c70
add al, 4
lea ecx, [esp + 0x14]
push eax
push 7
call fcn.00475c80
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00475910
sub esp, 0x10
lea eax, [esp + 0xc6]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
push str.UINFO.DB
mov byte [esp + 0x140], 0xf
call fcn.0041b350
lea ecx, [esp + 0x64]
mov byte [esp + 0x138], 0xc
push ecx
mov ecx, dword [0x4c4560]
call fcn.0042cec0
test ax, ax
je 0x460f10
lea ecx, [esp + 0x6c]
call fcn.00475d00
cmp ax, 4
jne 0x46015b
push 1
push 9
lea ecx, [esp + 0x58]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
jmp 0x46016f
push 2
push 9
lea ecx, [esp + 0x58]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00475910
mov ecx, dword [0x4c45c4]
call fcn.00479a70
push 7
mov ecx, ebx
call fcn.00475c70
add al, 5
lea ecx, [esp + 0x14]
push eax
push 7
call fcn.00475c80
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00475910
sub esp, 0x10
lea eax, [esp + 0xc7]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
push str.UINFO.DB
mov byte [esp + 0x140], 0x10
call fcn.0041b350
lea ecx, [esp + 0x64]
mov byte [esp + 0x138], 0xc
push ecx
mov ecx, dword [0x4c4560]
call fcn.0042cec0
test ax, ax
je 0x460f10
push 1
push 9
lea ecx, [esp + 0x58]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00475910
mov ecx, dword [0x4c45c4]
call fcn.00479a70
push 7
mov ecx, ebx
call fcn.00475c70
push eax
push 7
lea ecx, [esp + 0x1c]
call fcn.00475c80
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00475910
sub esp, 0x10
lea eax, [esp + 0x5b]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
push str.UINFO.DB
mov byte [esp + 0x140], 0x11
call fcn.0041b350
lea ecx, [esp + 0x64]
mov byte [esp + 0x138], 0xc
push ecx
mov ecx, dword [0x4c4560]
call fcn.0042cec0
test ax, ax
je 0x460f10
mov al, byte [esp + 0x47]
sub esp, 0x10
mov edx, esp
xor esi, esi
mov edi, 0x4c4510
or ecx, 0xffffffff
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], esi
mov dword [edx + 8], esi
mov dword [edx + 0xc], esi
mov dword [esp + 0x28], esp
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4c4510
mov ecx, edx
call fcn.0041c100
sub esp, 0x10
lea edx, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
mov byte [esp + 0x148], 0x12
call fcn.0041b230
push 9
lea ecx, [esp + 0x74]
mov byte [esp + 0x148], 0x13
call fcn.0041b6f0
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x64], esp
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
mov ecx, dword [0x4c45c4]
add esp, 8
mov byte [esp + 0x154], 0xc
call fcn.0047a1a0
push 7
mov ecx, ebx
call fcn.00475c70
inc al
lea ecx, [esp + 0x14]
push eax
push 7
call fcn.00475c80
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00475910
sub esp, 0x10
lea edx, [esp + 0x59]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
push str.UINFO.DB
mov byte [esp + 0x140], 0x14
call fcn.0041b350
mov ecx, dword [0x4c4560]
lea eax, [esp + 0x64]
push eax
mov byte [esp + 0x13c], 0xc
call fcn.0042cec0
cmp ax, si
je 0x460f10
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0xb4]
and ecx, 0xff
push ecx
push 0x4bc8ac
push edx
call fcn.00498c63
lea edi, [esp + 0xc0]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x90]
push ebp
call fcn.0041c2e0
test al, al
je 0x4603ed
mov edi, dword [esp + 0x90]
mov ecx, ebp
mov eax, ecx
lea esi, [esp + 0xb4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x94], ebp
mov byte [ecx + ebp], 0
mov al, byte [esp + 0x45]
sub esp, 0x10
mov edx, esp
xor esi, esi
mov edi, 0x4c4510
or ecx, 0xffffffff
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], esi
mov dword [edx + 8], esi
mov dword [edx + 0xc], esi
mov dword [esp + 0x44], esp
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4c4510
mov ecx, edx
call fcn.0041c100
sub esp, 0x10
lea edx, [esp + 0xac]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x148], 0x15
call fcn.0041b230
push 9
lea ecx, [esp + 0x74]
mov byte [esp + 0x148], 0x16
call fcn.0041b6f0
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x60], esp
push ecx
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
mov ecx, dword [0x4c45c4]
add esp, 8
mov byte [esp + 0x154], 0xc
call fcn.0047a1a0
push 7
mov ecx, ebx
call fcn.00475c70
add al, 2
lea ecx, [esp + 0x14]
push eax
push 7
call fcn.00475c80
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00475910
sub esp, 0x10
lea edx, [esp + 0x5a]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
push str.UINFO.DB
mov byte [esp + 0x140], 0x17
call fcn.0041b350
mov ecx, dword [0x4c4560]
lea eax, [esp + 0x64]
push eax
mov byte [esp + 0x13c], 0xc
call fcn.0042cec0
cmp ax, si
je 0x460f10
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0xb4]
and ecx, 0xff
push ecx
push 0x4bc8ac
push edx
call fcn.00498c63
lea edi, [esp + 0xc0]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x90]
push ebx
call fcn.0041c2e0
test al, al
je 0x460568
mov edi, dword [esp + 0x90]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0xb4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x94], ebx
mov byte [ebx + ecx], 0
mov dl, byte [esp + 0x46]
sub esp, 0x10
mov ebp, esp
xor esi, esi
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp], dl
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
mov dword [esp + 0x44], esp
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
mov ecx, ebp
push ebx
call fcn.0041c2e0
test al, al
je 0x4605c4
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
mov esi, 0x4c4510
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]
mov ecx, ebp
call fcn.0041c2c0
xor esi, esi
sub esp, 0x10
lea edx, [esp + 0xac]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x148], 0x18
call fcn.0041b230
push 9
lea ecx, [esp + 0x74]
mov byte [esp + 0x148], 0x19
call fcn.0041b6f0
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x60], esp
push ecx
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
mov ecx, dword [0x4c45c4]
add esp, 8
mov byte [esp + 0x154], 0xc
call fcn.0047a1a0
mov ecx, dword [0x4c45c4]
call fcn.00479e40
mov edi, eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x18]
call fcn.00475ae0
movsx eax, di
sub eax, esi
je 0x460857
dec eax
je 0x4606bf
dec eax
jne 0x45ff41
mov edx, dword [esp + 0x40]
push 0
push 4
push ecx
lea eax, [edx + 0x18]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.00475910
push 0xb
lea ecx, [esp + 0x13c]
mov byte [esp + 0x134], 0x27
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
mov ecx, 0x4c45b8
mov byte [esp + 0x134], 0xc
call fcn.0047aa50
cmp ax, 3
je 0x460ed5
jmp 0x45ff41
mov bl, byte [esp + 0x88]
push 2
inc bl
push 0x4c456c
lea ecx, [esp + 0xa8]
mov byte [esp + 0x90], bl
call fcn.004759a0
push eax
mov eax, dword [esp + 0x44]
mov byte [esp + 0x128], 0x24
lea ebx, [eax + 0x20]
mov ecx, ebx
call fcn.00475a90
lea ecx, [esp + 0xa0]
mov byte [esp + 0x124], 0xc
call fcn.00475a40
lea ecx, [esp + 0x6c]
push ecx
mov ecx, ebx
call fcn.00475a90
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x20]
call fcn.0041c660
cmp eax, ebp
jae 0x46073c
call fcn.0049813b
mov edi, dword [esp + 0x24]
cmp edi, esi
je 0x460764
mov al, byte [edi - 1]
test al, al
je 0x460764
cmp al, 0xff
je 0x460764
cmp ebp, esi
jne 0x46078d
dec al
push esi
lea ecx, [esp + 0x24]
mov byte [edi - 1], al
call fcn.0041ba60
jmp 0x4607be
cmp ebp, esi
jne 0x460775
push 1
lea ecx, [esp + 0x24]
call fcn.0041ba60
jmp 0x4607be
mov eax, dword [esp + 0x2c]
cmp eax, 0x1f
ja 0x460782
cmp eax, ebp
jae 0x46079b
push 1
lea ecx, [esp + 0x24]
call fcn.0041ba60
push ebp
lea ecx, [esp + 0x24]
call fcn.0041c670
mov edi, dword [esp + 0x24]
mov ecx, ebp
mov esi, 0x4c4510
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ebp
xor esi, esi
mov byte [eax + ebp], 0
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push esi
call fcn.00475930
lea ecx, [esp + 0x70]
call fcn.00475ae0
mov cl, byte [esp + 0x60]
mov al, byte [esp + 0x88]
cmp al, cl
jne 0x45ff41
push 7
lea ecx, [esp + 0x18]
call fcn.00475c70
add al, 4
lea ecx, [esp + 0x14]
push eax
push 7
call fcn.00475c80
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00475910
sub esp, 0x10
lea eax, [esp + 0x63]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
push str.UINFO.DB
mov byte [esp + 0x140], 0x25
call fcn.0041b350
lea ecx, [esp + 0x64]
mov byte [esp + 0x138], 0xc
push ecx
mov ecx, dword [0x4c4560]
call fcn.0042cec0
cmp ax, si
jne 0x460f53
jmp 0x45ff41
xor esi, esi
mov dl, byte [esp + 0x4f]
sub esp, 0x10
mov ebp, esp
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp], dl
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x44], esp
mov ebx, ecx
push 1
push ebx
mov ecx, ebp
call fcn.0041c2e0
test al, al
je 0x4608b3
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
mov esi, 0x4c4510
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]
mov ecx, ebp
call fcn.0041c2c0
xor esi, esi
sub esp, 0x10
lea edx, [esp + 0xbf]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
push 0x4c4510
mov byte [esp + 0x14c], 0x1a
call fcn.0041b350
sub esp, 0x10
lea eax, [esp + 0xd7]
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
push 0x4bcbe4
mov byte [esp + 0x15c], 0x1b
call fcn.0041b350
sub esp, 0x10
lea edx, [esp + 0xdc]
mov ecx, esp
mov dword [esp + 0x144], esp
push edx
push 0x4c4510
mov byte [esp + 0x16c], 0x1c
call fcn.0041b350
mov eax, dword [esp + 0x80]
sub esp, 0x10
mov edi, esp
mov dword [esp + 0xf8], esp
push ecx
add eax, 0x18
mov ecx, esp
mov dword [esp + 0x70], esp
push eax
mov byte [esp + 0x17c], 0x1d
call fcn.00475910
push edi
call fcn.00477540
add esp, 8
push 9
lea ecx, [esp + 0x180]
mov byte [esp + 0x178], 0x1e
call fcn.0041b6f0
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x7c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x80], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
add esp, 8
lea ecx, [esp + 0x168]
mov byte [esp + 0x184], 0xc
push ecx
mov ecx, 0x4c45b8
call fcn.0047ac60
mov ecx, dword [0x4ad134]
mov dx, word [eax]
push ecx
add eax, 4
push esi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0x130], 0x1f
mov word [esp + 0xcc], dx
call fcn.0041b7e0
mov eax, dword [esp + 0x110]
mov byte [esp + 0x124], 0xc
cmp eax, esi
je 0x460a00
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4609f7
cmp al, 0xff
je 0x4609f7
dec al
mov byte [ecx], al
jmp 0x460a00
push ecx
call fcn.00498130
add esp, 4
lea ecx, [esp + 0xc0]
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], esi
call fcn.00483340
cmp ax, 2
je 0x460e70
lea edx, [esp + 0xd4]
lea ecx, [esp + 0xc0]
push edx
call fcn.0047a5f0
mov ecx, dword [0x4ad134]
mov byte [esp + 0x124], 0x20
push ecx
push esi
push eax
lea ecx, [esp + 0x2c]
call fcn.0041b7e0
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x124], 0xc
cmp eax, esi
je 0x460a89
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x460a80
cmp al, 0xff
je 0x460a80
dec al
mov byte [ecx], al
jmp 0x460a89
push ecx
call fcn.00498130
add esp, 4
mov ax, word [esp + 0x28]
mov dword [esp + 0xd8], esi
cmp ax, 7
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], esi
jg 0x460d4d
jge 0x460be5
xor ebx, ebx
lea edx, [esp + 0x20]
lea eax, [esp + 0xe4]
push edx
push 0x4bc5d8
push eax
call fcn.0041c900
add esp, 0xc
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x4ad134]
mov ebp, eax
mov byte [esp + 0x124], 0x21
cmp ecx, ebp
jae 0x460aea
mov ebp, ecx
lea edx, [esp + 0x20]
cmp edx, esi
jne 0x460b0d
push ecx
push ebp
lea ecx, [esp + 0x28]
call fcn.0041c1a0
push ebx
push ebx
lea ecx, [esp + 0x28]
call fcn.0041c1a0
jmp 0x460b94
cmp ebp, ebx
jbe 0x460b5a
cmp ebp, eax
jne 0x460b5a
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x460b21
mov eax, 0x4ad138
cmp byte [eax - 1], 0xfe
jae 0x460b5a
push 1
lea ecx, [esp + 0x24]
call fcn.0041ba60
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x460b3e
mov eax, 0x4ad138
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x28], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x2c], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x460b94
push 1
push ebp
lea ecx, [esp + 0x28]
call fcn.0041c2e0
test al, al
je 0x460b94
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x460b76
mov esi, 0x4ad138
mov edi, dword [esp + 0x24]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24]
call fcn.0041c2c0
mov eax, dword [esp + 0xe8]
mov byte [esp + 0x124], 0xc
cmp eax, ebx
je 0x460bc4
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x460bbb
cmp al, 0xff
je 0x460bbb
dec al
mov byte [ecx], al
jmp 0x460bc4
push ecx
call fcn.00498130
add esp, 4
cmp word [esp + 0x28], 7
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebx
jl 0x460ab5
lea ecx, [esp + 0x20]
lea edx, [esp + 0xf4]
push ecx
push 0x4bc5d8
push edx
call fcn.0041c900
add esp, 0xc
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x4ad134]
mov ebp, eax
mov byte [esp + 0x124], 0x22
cmp ecx, ebp
jae 0x460c1a
mov ebp, ecx
lea edx, [esp + 0x78]
cmp edx, esi
jne 0x460c42
push ecx
push ebp
lea ecx, [esp + 0x80]
call fcn.0041c1a0
xor ebx, ebx
lea ecx, [esp + 0x78]
push ebx
push ebx
call fcn.0041c1a0
jmp 0x460cd9
xor ebx, ebx
cmp ebp, ebx
jbe 0x460c97
cmp ebp, eax
jne 0x460c97
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x460c58
mov eax, 0x4ad138
cmp byte [eax - 1], 0xfe
jae 0x460c97
push 1
lea ecx, [esp + 0x7c]
call fcn.0041ba60
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x460c75
mov eax, 0x4ad138
mov dword [esp + 0x7c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x80], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x84], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x460cd9
push 1
push ebp
lea ecx, [esp + 0x80]
call fcn.0041c2e0
test al, al
je 0x460cd9
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x460cb6
mov esi, 0x4ad138
mov edi, dword [esp + 0x7c]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x80], ebp
mov byte [ecx + ebp], 0
mov eax, dword [esp + 0xf8]
mov byte [esp + 0x124], 0xc
cmp eax, ebx
je 0x460d09
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x460d00
cmp al, 0xff
je 0x460d00
dec al
mov byte [ecx], al
jmp 0x460d09
push ecx
call fcn.00498130
add esp, 4
lea edx, [esp + 0x6c]
lea eax, [esp + 0x78]
push edx
mov dword [esp + 0xfc], ebx
sub esp, 0x10
mov dword [esp + 0x110], ebx
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
mov dword [esp + 0x118], ebx
call fcn.0041b230
mov ecx, dword [0x4c4560]
call fcn.0042f560
cmp ax, 4
je 0x45ff41
xor esi, esi
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x20]
call fcn.0041c660
cmp eax, ebp
jae 0x460d70
call fcn.0049813b
mov edi, dword [esp + 0x24]
cmp edi, esi
je 0x460d98
mov al, byte [edi - 1]
test al, al
je 0x460d98
cmp al, 0xff
je 0x460d98
cmp ebp, esi
jne 0x460dc1
dec al
push esi
lea ecx, [esp + 0x24]
mov byte [edi - 1], al
call fcn.0041ba60
jmp 0x460df2
cmp ebp, esi
jne 0x460da9
push 1
lea ecx, [esp + 0x24]
call fcn.0041ba60
jmp 0x460df2
mov eax, dword [esp + 0x2c]
cmp eax, 0x1f
ja 0x460db6
cmp eax, ebp
jae 0x460dcf
push 1
lea ecx, [esp + 0x24]
call fcn.0041ba60
push ebp
lea ecx, [esp + 0x24]
call fcn.0041c670
mov edi, dword [esp + 0x24]
mov ecx, ebp
mov esi, 0x4c4510
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ebp
xor esi, esi
mov byte [eax + ebp], 0
mov edx, dword [esp + 0x40]
push esi
push 1
sub esp, 0x10
lea eax, [edx + 0x18]
mov edi, esp
mov dword [esp + 0x34], esp
push ecx
mov ecx, esp
mov dword [esp + 0xc4], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
add esp, 8
push 0xa
lea ecx, [esp + 0x148]
mov byte [esp + 0x140], 0x23
call fcn.0041b6f0
sub esp, 0x10
mov edi, esp
mov dword [esp + 0xd0], esp
push ecx
mov ecx, esp
mov dword [esp + 0xd4], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
add esp, 8
mov ecx, 0x4c45b8
mov byte [esp + 0x14c], 0xc
call fcn.0047a9a0
jmp 0x460859
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push esi
call fcn.00475930
lea ecx, [esp + 0x70]
call fcn.00475ae0
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x24]
push ebx
call fcn.0041c2e0
test al, al
je 0x45ff41
mov edi, dword [esp + 0x24]
mov ecx, ebx
mov eax, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ebx
mov byte [ebx + ecx], 0
jmp 0x45ff41
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0
call fcn.00475930
lea ecx, [esp + 0x68]
call fcn.00475ae0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0
call fcn.00475930
lea ecx, [esp + 0x6c]
call fcn.00475ae0
mov ecx, dword [esp + 0x70]
push 0
push 7
call fcn.00475c80
mov ebp, dword [esp + 0x48]
cmp bp, 1
jne 0x461039
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00475910
mov ecx, dword [0x4c4560]
call fcn.0042d870
test ax, ax
je 0x46107c
mov ebp, 1
push 0
lea ecx, [esp + 0x68]
jmp 0x461065
push 5
lea ecx, [esp + 0x54]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x68]
call fcn.00475ae0
push 6
lea ecx, [esp + 0x54]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x6c]
call fcn.00475ae0
push 1
lea ecx, [esp + 0x54]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x40]
call fcn.00475ae0
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x3c]
push edx
push 3
call fcn.00475c80
push ebx
lea ecx, [esp + 0x40]
call fcn.00475a90
cmp byte [esp + 0x60], 4
jne 0x46100a
push 6
push 0x4bcbec
lea ecx, [esp + 0x40]
call fcn.004759a0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x128], 0x26
call fcn.00475a90
lea ecx, [esp + 0x38]
mov byte [esp + 0x124], 0xc
call fcn.00475a40
push 0x4c4538
push ecx
lea eax, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00475910
mov ecx, dword [esp + 0x48]
call fcn.00447c50
mov ebp, eax
cmp bp, 1
je 0x460f1e
mov dword [esp + 0x48], esi
push ecx
lea eax, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00475910
mov ecx, dword [0x4c4560]
call fcn.0042d870
test ax, ax
je 0x461078
mov ebp, 1
push 0
lea ecx, [esp + 0x6c]
call fcn.00475c70
mov ecx, dword [esp + 0x70]
push eax
push 7
call fcn.00475c80
jmp 0x46107c
mov ebp, dword [esp + 0x48]
lea ecx, [esp + 0x6c]
mov byte [esp + 0x124], 0xb
call fcn.00475a40
mov eax, dword [esp + 0x7c]
xor ebx, ebx
cmp eax, ebx
je 0x4610b4
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4610ab
cmp al, 0xff
je 0x4610ab
dec al
mov byte [ecx], al
jmp 0x4610b4
push ecx
call fcn.00498130
add esp, 4
mov eax, dword [esp + 0x90]
mov dword [esp + 0x7c], ebx
cmp eax, ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
je 0x4610ee
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4610e5
cmp al, 0xff
je 0x4610e5
dec al
mov byte [ecx], al
jmp 0x4610ee
push ecx
call fcn.00498130
add esp, 4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x90], ebx
cmp eax, ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
je 0x461128
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46111f
cmp al, 0xff
je 0x46111f
dec al
mov byte [ecx], al
jmp 0x461128
push ecx
call fcn.00498130
add esp, 4
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x24], ebx
cmp eax, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
je 0x46115c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x461153
cmp al, 0xff
je 0x461153
dec al
mov byte [ecx], al
jmp 0x46115c
push ecx
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x68]
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov byte [esp + 0x124], 6
call fcn.00475a40
lea ecx, [esp + 0x64]
mov byte [esp + 0x124], 5
call fcn.00475a40
lea ecx, [esp + 0xac]
mov byte [esp + 0x124], 4
call fcn.00475a40
lea ecx, [esp + 0x74]
mov byte [esp + 0x124], 3
call fcn.00475a40
lea ecx, [esp + 0x3c]
mov byte [esp + 0x124], 2
call fcn.00475a40
lea ecx, [esp + 0x14]
mov byte [esp + 0x124], 1
call fcn.00475a40
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
cmp eax, ecx
mov byte [esp + 0x124], 0
mov edi, ecx
mov esi, eax
je 0x461204
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x4611f2
mov eax, dword [esp + 0x54]
push eax
call fcn.00498130
mov eax, dword [esp + 0x138]
mov esi, dword [esp + 0x134]
add esp, 4
cmp esi, eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x124], 0xffffffff
mov edi, eax
je 0x46124d
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x461238
mov esi, dword [esp + 0x130]
push esi
call fcn.00498130
mov ecx, dword [esp + 0x120]
add esp, 4
mov ax, bp
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x118
ret 0x14