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

Disassembly:
sub esp, 0x130
push ebx
push ebp
push esi
mov ebp, edx
mov esi, ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
push edi
test ebp, ebp
jne 0x4adfde
cmp dword [esp + 0x154], edx
jne 0x4adfc3
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x168]
call fcn.004adf80
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
lea eax, [esp + 0x154]
sub eax, esi
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, dword [esp + 0x14c]
mov eax, dword [edx]
cmp eax, dword [edx + 4]
jae 0x4b1020
inc eax
mov dword [edx], eax
mov eax, dword [esp + 0x154]
cmp eax, dword [edx + 8]
jae 0x4b1efc
cmp dword [edx + 0x98], 2
jne 0x4ae04b
mov ecx, dword [esp + 0x150]
lea eax, [esp + 0x50]
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x150], eax
mov dword [edx + 0x98], 0
jmp 0x4ae04b
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x14]
jmp 0x4ae052
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov cl, byte [ebp]
movzx ebp, cl
mov dword [esp + 0x30], 0
mov dword [esp + 0x20], 0
mov byte [esp + 0x27], cl
mov dword [esp + 0x34], ebp
cmp ebp, 0x9b
ja case.0x4ae08a.15
movzx eax, byte [ebp + 0x4b2044]
jmp dword [eax*4 + 0x4b1f0c]
cmp dword [edx + 0x6c], 0
je 0x4b10ea
mov ebx, dword [esp + 0x14]
movzx ecx, byte [ebp + 0x4bb020]
movzx ebp, byte [ebx + 1]
add ebp, ebx
add ebp, ecx
mov dword [esp + 0x14], ebp
jmp 0x4ae052
mov ecx, dword [esp + 0x14]
mov ebx, esi
mov edi, dword [edx + 0xac]
mov ebp, ecx
mov eax, dword [esp + 0x154]
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
lea edx, [ecx + 3]
mov ecx, esi
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
cmp eax, 1
je 0x4ae1cd
cmp eax, 0xfffffc20
jne 0x4ae131
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x14c]
add edx, dword [esp + 0x14]
cmp dword [ecx + 0x7c], edx
jae 0x4b1028
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x71
je 0x4ae139
cmp byte [edx], 0x71
jmp 0x4ae133
test eax, eax
jne 0x4b1028
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0xac], edi
mov al, byte [ecx]
cmp al, 0x71
je 0x4ae0c2
mov edi, ecx
cmp al, 0x7c
je 0x4ae180
cmp al, 0x71
jne case.default.0x4af719
nop dword [eax]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov al, byte [edi + ecx]
add edi, ecx
cmp al, 0x71
je 0x4ae180
mov ecx, dword [edx + 0x8c]
mov esi, dword [edx + 0x80]
mov dword [esp + 0x14], edi
mov dword [esp + 0x148], ecx
mov dword [esp + 0x18], esi
cmp al, 0x72
je 0x4ae1bd
cmp esi, ebx
jne 0x4b0d28
mov ebp, dword [esp + 0x14]
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4ae04b
mov edx, dword [esp + 0x14c]
mov edi, dword [esp + 0x14]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x144], eax
mov al, byte [edi]
jmp 0x4ae16d
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], 0
jmp 0x4aede6
mov ebp, dword [esp + 0x14]
movzx ebx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ebx, 8
or ebx, eax
cmp byte [ebp + 3], 0x70
jne 0x4ae2fc
mov edi, dword [0x4cbf9c]
test edi, edi
je 0x4ae2f5
movzx eax, byte [ebp + 4]
mov ecx, dword [edx + 0x74]
mov dword [esp + 0x94], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x98], eax
mov eax, dword [edx + 0x78]
sub eax, ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x144]
sub eax, ecx
mov dword [esp + 0x90], 2
mov dword [esp + 0xa4], eax
mov eax, esi
sub eax, ecx
movzx ecx, byte [ebp + 5]
mov dword [esp + 0xa8], eax
movzx eax, byte [ebp + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp + 8]
mov dword [esp + 0xb8], ecx
movzx ecx, byte [ebp + 7]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x14c]
sar eax, 1
mov dword [esp + 0xac], eax
mov eax, dword [ecx + 0x90]
mov dword [esp + 0xb0], eax
mov eax, dword [ecx + 0xa8]
mov dword [esp + 0xb4], eax
mov eax, dword [ecx + 0xb0]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x90]
push eax
call edi
add esp, 4
test eax, eax
jg case.default.0x4af719
js 0x4b1028
add ebp, 0xa
mov dword [esp + 0x14], ebp
mov cl, byte [ebp + 3]
lea edx, [ebp + 3]
cmp cl, 0x89
je 0x4ae540
cmp cl, 0x8a
je 0x4ae540
cmp cl, 0x87
je 0x4ae38d
cmp cl, 0x88
je 0x4ae38d
cmp cl, 0x8b
jne 0x4ae337
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
jmp 0x4ae74e
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edi, dword [esp + 0x14c]
inc eax
push eax
push 0
push edi
push dword [esp + 0x154]
mov dword [edi + 0x98], 1
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
cmp eax, 1
je 0x4b0da9
test eax, eax
je 0x4ae384
cmp eax, 0xfffffc20
jne 0x4b1028
add ebp, ebx
mov edx, edi
jmp 0x4ae755
movzx edx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
shl edx, 8
or edx, eax
lea edi, [edx + edx]
cmp edi, dword [esp + 0x148]
jge 0x4ae3ba
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
cmp dword [eax + edi*4], 0
jge 0x4ae533
cmp cl, 0x88
jne 0x4ae404
mov eax, dword [esp + 0x14c]
xor edi, edi
mov dword [esp + 0x28], edi
mov ebp, dword [eax + 0x28]
mov ebx, ebp
cmp dword [eax + 0x20], edi
jle 0x4ae400
movzx ecx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esp + 0x2c], eax
movzx eax, byte [eax]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14c]
cmp ecx, edx
je 0x4ae418
add ebx, dword [eax + 0x24]
inc edi
mov dword [esp + 0x28], edi
cmp edi, dword [eax + 0x20]
jl 0x4ae3d6
mov ebp, dword [esp + 0x14]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
xor eax, eax
jmp 0x4ae748
cmp edi, dword [eax + 0x20]
jge 0x4ae400
mov edi, ebx
cmp ebx, ebp
jbe 0x4ae498
mov ebp, dword [eax + 0x24]
lea eax, [ebx + 2]
nop dword [eax]
sub edi, ebp
lea ecx, [edi + 2]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ae455
test dl, dl
je 0x4ae451
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ae455
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ae435
xor eax, eax
jmp 0x4ae45a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4ae498
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x148]
jge 0x4ae489
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4ae52f
mov eax, dword [esp + 0x14c]
cmp edi, dword [eax + 0x28]
lea eax, [ebx + 2]
ja 0x4ae430
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x14c]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [edi + 0x20]
jge 0x4ae400
mov edi, dword [edi + 0x24]
mov ebp, dword [esp + 0x2c]
add ebp, edi
lea eax, [ebx + 2]
lea ecx, [ebp + 1]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ae4e0
test dl, dl
je 0x4ae4dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ae4e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ae4c0
xor eax, eax
jmp 0x4ae4e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4ae400
movzx ecx, byte [ebp - 1]
movzx eax, byte [ebp]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x148]
jge 0x4ae515
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4ae52f
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x14c]
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [eax + 0x20]
jl 0x4ae4b8
jmp 0x4ae400
mov ebp, dword [esp + 0x14]
mov ecx, 3
lea eax, [ecx - 2]
jmp 0x4ae748
mov edx, dword [esp + 0x14c]
mov edi, dword [edx + 0xa4]
test edi, edi
jne 0x4ae565
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
jmp 0x4ae755
movzx edx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x4ae731
cmp edx, dword [edi + 4]
je 0x4ae731
mov dword [esp + 0x1c], 0
cmp cl, 0x8a
jne 0x4ae5e2
mov eax, dword [esp + 0x14c]
xor edi, edi
mov dword [esp + 0x28], edi
mov ebp, dword [eax + 0x28]
mov ebx, ebp
mov dword [esp + 0x2c], ebx
cmp dword [eax + 0x20], edi
jle 0x4ae5de
nop
movzx ecx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esp + 0x30], eax
movzx eax, byte [eax]
shl ecx, 8
or ecx, eax
cmp ecx, edx
je 0x4ae5f4
mov eax, dword [esp + 0x14c]
inc edi
mov dword [esp + 0x28], edi
add ebx, dword [eax + 0x24]
mov dword [esp + 0x2c], ebx
cmp edi, dword [eax + 0x20]
jl 0x4ae5b0
mov ebp, dword [esp + 0x14]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
jmp 0x4ae744
mov ecx, dword [esp + 0x14c]
cmp edi, dword [ecx + 0x20]
jge 0x4ae5de
mov edi, ebx
cmp ebx, ebp
jbe 0x4ae68d
mov esi, ecx
lea eax, [ebx + 2]
mov dword [esp + 0x34], eax
mov ebx, eax
mov ebp, dword [esi + 0x24]
sub edi, ebp
mov eax, ebx
lea ecx, [edi + 2]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ae640
test dl, dl
je 0x4ae63c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ae640
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ae620
xor eax, eax
jmp 0x4ae645
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4ae672
movzx ecx, byte [edi]
xor edx, edx
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 0xa4]
mov eax, dword [eax + 4]
cmp ecx, eax
sete dl
mov dword [esp + 0x1c], edx
je 0x4ae676
cmp edi, dword [esi + 0x28]
ja 0x4ae618
jmp 0x4ae676
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x4ae73b
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [ecx + 0x20]
jge 0x4ae5de
mov edi, dword [ecx + 0x24]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x14c]
nop dword [eax]
add ebp, edi
lea eax, [ebx + 2]
lea ecx, [ebp + 1]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ae6d8
test dl, dl
je 0x4ae6d4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ae6d8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ae6b8
xor eax, eax
jmp 0x4ae6dd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4ae712
movzx ecx, byte [ebp - 1]
xor edx, edx
movzx eax, byte [ebp]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 0xa4]
mov eax, dword [eax + 4]
cmp ecx, eax
sete dl
mov dword [esp + 0x1c], edx
je 0x4ae716
mov edx, dword [esp + 0x28]
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [esi + 0x20]
jl 0x4ae6b0
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test edx, edx
jne 0x4ae73f
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
jmp 0x4ae744
mov dword [esp + 0x1c], 1
jmp 0x4ae73f
mov ebp, dword [esp + 0x14]
mov ecx, 3
mov eax, dword [esp + 0x1c]
add ebp, ecx
test eax, eax
jne 0x4ae75f
mov edx, dword [esp + 0x14c]
cmp byte [ebp], 0x71
jne 0x4ae1c1
mov edx, dword [esp + 0x148]
mov edi, dword [esp + 0x14c]
add ebp, 3
cmp byte [esp + 0x27], 0x86
mov dword [esp + 0x14], ebp
je 0x4b114d
mov edx, dword [esp + 0x14c]
jmp 0x4b1015
mov ebp, dword [esp + 0x14]
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x14c]
lea edi, [edx + edx]
mov dword [eax + 0x90], edx
cmp edi, dword [eax + 0x14]
jl 0x4ae7cd
mov edi, dword [esp + 0x148]
mov edx, eax
add ebp, 3
mov dword [esp + 0x14], ebp
mov dword [edx + 0x3c], 1
jmp 0x4ae059
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x14c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, esi
mov eax, dword [edx + 0xc]
sub ecx, dword [edx + 0x74]
mov dword [eax + edi*4 + 4], ecx
cmp dword [esp + 0x148], edi
jg 0x4ae801
lea eax, [edi + 2]
mov dword [esp + 0x148], eax
mov edi, dword [esp + 0x148]
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp dword [edx + 0x98], 1
mov edi, dword [edx + 0xac]
jne 0x4ae834
mov ebx, 1
mov dword [edx + 0x98], 0
jmp 0x4ae836
xor ebx, ebx
mov ebp, dword [esp + 0x14]
nop word [eax + eax]
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push 0
push edx
push dword [esp + 0x154]
lea edx, [ebp + 3]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
cmp eax, 1
je 0x4ae8a7
cmp eax, 0xfffffc19
je 0x4ae8a7
test eax, eax
je 0x4ae882
cmp eax, 0xfffffc20
jne 0x4b1028
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
mov edx, dword [esp + 0x14c]
shl ecx, 8
or ecx, eax
add ebp, ecx
mov dword [edx + 0xac], edi
mov al, byte [ebp]
cmp al, 0x71
je 0x4ae840
jmp 0x4ae8bb
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x144], eax
mov al, byte [ebp]
cmp al, 0x72
je case.default.0x4af719
test ebx, ebx
jne 0x4b1329
nop dword [eax + eax]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4ae8d0
mov edi, dword [edx + 0x8c]
add ebp, 3
mov dword [esp + 0x14], ebp
mov dword [esp + 0x148], edi
jmp 0x4ae052
cmp dword [edx + 0x98], 1
mov edi, dword [edx + 0xac]
jne 0x4ae91e
mov ebx, 1
mov dword [edx + 0x98], 0
jmp 0x4ae920
xor ebx, ebx
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push 0
push edx
push dword [esp + 0x154]
lea edx, [ebp + 3]
push dword [esp + 0x154]
call fcn.004adf80
mov edx, dword [esp + 0x160]
add esp, 0x14
mov dword [edx + 0xac], edi
cmp eax, 1
je case.default.0x4af719
cmp eax, 0xfffffc19
je case.default.0x4af719
cmp eax, 0xfffffc1e
je 0x4ae9b0
cmp eax, 0xfffffc1d
je 0x4ae9b0
cmp eax, 0xfffffc1a
je 0x4ae9b0
test eax, eax
je 0x4ae990
cmp eax, 0xfffffc20
jne 0x4b1028
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4ae924
jmp 0x4ae9c5
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4ae9b0
test ebx, ebx
jne 0x4b1329
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4ae04b
mov ebp, dword [esp + 0x14]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
sub esi, ecx
mov dword [esp + 0x18], esi
cmp esi, dword [edx + 0x74]
jb case.default.0x4af719
cmp esi, dword [edx + 0x84]
jae 0x4aea07
mov dword [edx + 0x84], esi
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov edi, dword [0x4cbf9c]
mov ebp, dword [esp + 0x14]
test edi, edi
je 0x4aeade
movzx eax, byte [ebp + 1]
mov ecx, dword [edx + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 0x78]
sub eax, ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, ebx
sub eax, ecx
mov dword [esp + 0x58], 2
mov dword [esp + 0x6c], eax
mov eax, esi
sub eax, ecx
movzx ecx, byte [ebp + 6]
mov dword [esp + 0x70], eax
movzx eax, byte [ebp + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp + 9]
mov dword [esp + 0x80], ecx
movzx ecx, byte [ebp + 8]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x14c]
sar eax, 1
mov dword [esp + 0x74], eax
mov eax, dword [ecx + 0x90]
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 0xa8]
mov dword [esp + 0x7c], eax
mov eax, dword [ecx + 0xb0]
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 2]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x58]
push eax
call edi
add esp, 4
test eax, eax
jg case.default.0x4af719
js 0x4b1028
mov edx, dword [esp + 0x14c]
add ebp, 0xa
mov edi, dword [esp + 0x148]
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov edi, dword [esp + 0x14]
movzx ebx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ebx, 8
or ebx, eax
add ebx, dword [edx + 0x70]
cmp ebx, dword [edx + 0x70]
jne 0x4aeb15
xor ecx, ecx
jmp 0x4aeb22
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov edx, dword [edx + 0xa4]
mov eax, edx
test eax, eax
je 0x4aeb44
nop
cmp ecx, dword [eax + 4]
jne 0x4aeb3e
cmp esi, dword [eax + 0x10]
je 0x4b1187
mov eax, dword [eax]
test eax, eax
jne 0x4aeb30
mov ebp, dword [esp + 0x14c]
lea eax, [esp + 0x3c]
mov dword [esp + 0x40], ecx
add edi, 3
mov dword [esp + 0x4c], esi
mov dword [esp + 0x3c], edx
mov ecx, dword [ebp + 0x10]
mov dword [ebp + 0xa4], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x48], ecx
cmp ecx, 0x1e
jg 0x4aeb81
lea eax, [esp + 0xc8]
mov dword [esp + 0x44], eax
jmp 0x4aeba2
lea eax, [ecx*4]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
je 0x4b11ed
mov ecx, dword [esp + 0x48]
shl ecx, 2
push ecx
push dword [ebp + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov al, byte [ebx]
add esp, 0xc
mov byte [esp + 0x27], al
cmp al, 0x82
jb 0x4aebc6
mov dword [ebp + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ebx]
push ebp
push dword [esp + 0x154]
movzx edx, byte [eax + 0x4bb020]
push dword [esp + 0x154]
add edx, ebx
call fcn.004adf80
mov ecx, dword [esp + 0x5c]
add esp, 0x14
shl ecx, 2
mov edi, eax
push ecx
push dword [esp + 0x48]
push dword [ebp + 0xc]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x48]
add esp, 0xc
mov dword [ebp + 0xa4], edx
cmp edi, 1
je 0x4aec66
cmp edi, 0xfffffc19
je 0x4aec66
test edi, edi
je 0x4aec3b
cmp edi, 0xfffffc20
jne 0x4b1197
lea eax, [esp + 0x3c]
mov dword [ebp + 0xa4], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
jne 0x4b11bd
mov al, byte [esp + 0x27]
jmp 0x4aebb8
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0xc8]
cmp eax, ecx
je 0x4aec7f
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov edx, ebp
mov esi, dword [edx + 0x80]
mov ebx, dword [edx + 0x7c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x144], ebx
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x148]
jmp 0x4ae059
mov ebp, dword [esp + 0x14]
nop dword [eax]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4aecb0
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
inc edi
push edx
push dword [esp + 0x154]
mov edx, edi
push ebx
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x71
je 0x4aed00
mov edx, dword [esp + 0x14c]
lea ebp, [edi + 3]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
mov edx, ebp
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x71
je 0x4aed40
mov eax, dword [esp + 0x154]
add edx, 3
inc eax
mov ecx, esi
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push edi
push ebx
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov edx, dword [esp + 0x14c]
jmp 0x4ae059
mov edx, dword [esp + 0x14]
inc edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x71
je 0x4aed93
lea ebp, [edx + 3]
mov edx, dword [esp + 0x14c]
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x2c], 1
mov dword [esp + 0x14], ecx
movzx ebp, byte [ecx]
mov dword [esp + 0x34], ebp
cmp ebp, 0x80
je 0x4aede6
cmp ebp, 0x85
jne 0x4aefcf
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
lea eax, [ebx + ebx]
cmp eax, dword [edx + 0x14]
jge 0x4aefc7
sub ecx, dword [edx + 0x70]
xor ebp, ebp
shl eax, 2
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x1c], eax
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x30], edx
mov eax, dword [eax + 0x10]
sub eax, ebx
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14c]
mov edi, dword [eax + 0x90]
jmp 0x4aee45
mov eax, edx
mov ecx, dword [eax + 0x10]
mov edx, esi
sub edx, dword [eax + 0x74]
sub ecx, ebx
cmp dword [esp + 0x34], 0x82
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
jb 0x4aee70
mov eax, dword [esp + 0x14c]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ecx]
push dword [esp + 0x154]
push dword [esp + 0x154]
movzx edx, byte [eax + 0x4bb020]
push dword [esp + 0x154]
add edx, ecx
mov ecx, esi
call fcn.004adf80
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
jne 0x4aeef2
mov eax, dword [esp + 0x14c]
mov ebp, 1
mov ecx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov edi, dword [eax + 0x90]
mov dword [esp + 0x148], ecx
mov ecx, dword [eax + 0x70]
add ecx, dword [esp + 0x28]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ecx
jmp 0x4aee45
cmp edx, 0xfffffc20
jne 0x4aef36
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14c]
add ecx, dword [esp + 0x14]
cmp dword [eax + 0x7c], ecx
jae 0x4aef29
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x71
je 0x4aef3e
cmp byte [ecx], 0x71
je 0x4aef3e
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
test edx, edx
jne 0x4aef29
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
mov dword [edx + 0x90], edi
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
cmp byte [eax], 0x71
je 0x4aee43
test ebp, ebp
jne 0x4aefa0
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14c]
mov edx, dword [esp + 0x30]
mov dword [ecx + eax], edx
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
mov dword [ecx + eax + 4], edx
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
sub ecx, ebx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4], edx
mov edx, edi
cmp dword [esp + 0x2c], 0
jne 0x4ae1bd
test ebp, ebp
je case.default.0x4af719
mov ebp, dword [esp + 0x14]
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4ae04b
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], 0
mov edi, ecx
xor ebx, ebx
sub edi, dword [edx + 0x70]
cmp ebp, 0x82
jb 0x4aefe8
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x154]
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ecx]
push edx
push dword [esp + 0x154]
movzx edx, byte [eax + 0x4bb020]
push dword [esp + 0x154]
add edx, ecx
mov ecx, esi
call fcn.004adf80
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
jne 0x4af055
mov edx, dword [esp + 0x14c]
mov ebx, 1
mov ecx, dword [edx + 0x70]
mov eax, dword [edx + 0x8c]
add ecx, edi
mov esi, dword [edx + 0x80]
mov dword [esp + 0x148], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ecx
jmp 0x4aefd6
cmp edx, 0xfffffc20
jne 0x4af090
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14c]
add ecx, dword [esp + 0x14]
cmp dword [eax + 0x7c], ecx
jae 0x4aef29
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x71
je 0x4af098
cmp byte [ecx], 0x71
jmp 0x4af092
test edx, edx
jne 0x4aef29
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov ecx, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14c]
cmp byte [ecx], 0x71
je 0x4aefd6
test ebx, ebx
jne 0x4ae1bd
cmp dword [esp + 0x2c], ebx
jmp 0x4aefad
mov ebx, dword [esp + 0x14]
mov ebp, ebx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
sub ebp, ecx
mov al, byte [ebp]
cmp al, 0x82
jae 0x4af0fc
cmp al, 0x7b
je 0x4af0fc
mov dword [esp + 0x2c], 0
jmp 0x4af11a
mov ecx, dword [esp + 0x150]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x150]
mov ecx, dword [ecx]
mov dword [esp + 0x150], ecx
cmp al, 0x77
jb 0x4af126
cmp al, 0x7a
jbe 0x4b1313
cmp al, 0x7c
je 0x4b1313
cmp al, 0x7f
je 0x4af142
cmp al, 0x84
je 0x4af142
cmp al, 0x80
je 0x4af142
cmp al, 0x85
jne 0x4af200
movzx edx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
mov edi, dword [esp + 0x14c]
shl edx, 8
or edx, eax
mov eax, dword [edi + 0xa4]
lea ebx, [edx + edx]
test eax, eax
je 0x4af16c
cmp dword [eax + 4], edx
je 0x4b11fd
mov dword [edi + 0x90], edx
cmp ebx, dword [edi + 0x14]
jl 0x4af189
mov edx, edi
mov edi, dword [esp + 0x148]
mov dword [edx + 0x3c], 1
jmp 0x4af1fc
mov ecx, dword [esp + 0x148]
cmp ebx, ecx
jle 0x4af1c6
mov eax, dword [edi + 0xc]
mov dword [esp + 0x38], 0
lea edi, [eax + ecx*4]
lea eax, [eax + ebx*4]
mov ecx, eax
sub ecx, edi
add ecx, 3
shr ecx, 2
cmp edi, eax
cmova ecx, dword [esp + 0x38]
test ecx, ecx
je 0x4af1bf
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x14c]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, edx
mov edx, dword [esp + 0x14c]
mov edi, dword [esp + 0x148]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [edx + 0xc]
sub ecx, dword [edx + 0x74]
mov dword [eax + ebx*4 + 4], ecx
cmp edi, ebx
jg 0x4af1fc
lea edi, [ebx + 2]
mov dword [esp + 0x148], edi
mov ebx, dword [esp + 0x14]
mov al, byte [ebx]
cmp al, 0x72
je 0x4af210
cmp esi, dword [esp + 0x2c]
jne 0x4b0dfd
add ebx, 3
cmp byte [ebp], 0x7b
mov dword [esp + 0x14], ebx
je 0x4b12c9
mov ebp, ebx
jmp 0x4ae052
cmp dword [edx + 0x40], 0
je case.0x4ae08a.1
cmp esi, dword [edx + 0x74]
je case.default.0x4af719
cmp esi, dword [edx + 0x74]
jne case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp dword [edx + 0x40], 0
je 0x4af25e
cmp esi, dword [edx + 0x74]
je case.default.0x4af719
mov ecx, dword [edx + 0x74]
jmp 0x4af269
mov ecx, dword [edx + 0x74]
cmp esi, ecx
je 0x4af2e4
cmp esi, dword [edx + 0x78]
je case.default.0x4af719
mov edx, dword [edx + 0x18]
test edx, edx
je 0x4af2aa
cmp esi, ecx
jbe case.default.0x4af719
mov eax, dword [esp + 0x14c]
push 0
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004b3470
add esp, 0xc
test eax, eax
je case.default.0x4af719
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae052
mov ebx, dword [esp + 0x14c]
mov edx, dword [ebx + 0x1c]
lea eax, [ecx + edx]
cmp esi, eax
jb case.default.0x4af719
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [ebx + 0x2c]
jne case.default.0x4af719
cmp edx, 1
je 0x4af2e2
mov al, byte [ecx + 1]
mov edx, ebx
cmp al, byte [edx + 0x2d]
je 0x4af2e4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, ebx
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae052
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x74]
cmp esi, eax
jne case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov ebp, dword [esp + 0x14]
mov ebx, esi
inc ebp
mov dword [esp + 0x144], ebx
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4af3a7
mov edx, dword [edx + 0x18]
test edx, edx
je 0x4af363
mov eax, dword [esp + 0x14c]
push 0
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004b33e0
add esp, 0xc
test eax, eax
je case.default.0x4af719
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae052
mov ebx, dword [esp + 0x14c]
mov edx, dword [ebx + 0x1c]
sub ecx, edx
cmp esi, ecx
ja case.default.0x4af719
mov al, byte [esi]
cmp al, byte [ebx + 0x2c]
jne case.default.0x4af719
cmp edx, 1
je 0x4af2e2
mov al, byte [esi + 1]
mov edx, ebx
cmp al, byte [edx + 0x2d]
jne case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae052
cmp dword [edx + 0x44], 0
jne case.default.0x4af719
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4af2e4
cmp esi, dword [edx + 0x84]
jbe 0x4af2e4
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae052
cmp dword [edx + 0x44], 0
jne case.default.0x4af719
cmp dword [edx + 0x54], 0
je case.0x4ae08a.23
cmp esi, dword [edx + 0x78]
jb case.default.0x4af719
mov eax, dword [edx + 0x88]
test eax, eax
je case.0x4af719.10
cmp esi, dword [edx + 0x84]
jbe case.0x4af719.10
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4af49d
mov ebx, dword [esp + 0x14c]
mov edx, dword [edx + 0x18]
lea edi, [ebx + 0x1c]
test edx, edx
je 0x4af467
push 0
push edi
push ecx
mov ecx, esi
call fcn.004b33e0
add esp, 0xc
test eax, eax
je case.default.0x4af719
mov ecx, dword [ebx + 0x78]
mov edx, dword [edi]
jmp 0x4af491
mov edx, dword [edi]
mov eax, ecx
sub eax, edx
cmp esi, eax
ja case.default.0x4af719
mov al, byte [esi]
cmp al, byte [ebx + 0x2c]
jne case.default.0x4af719
cmp edx, 1
je 0x4af491
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x2d]
jne case.default.0x4af719
sub ecx, edx
cmp esi, ecx
jne case.default.0x4af719
mov edx, ebx
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4af4bf
cmp esi, dword [edx + 0x84]
jbe 0x4af4bf
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae04b
cmp esi, dword [edx + 0x74]
jne 0x4af4d6
xor edx, edx
jmp 0x4af4f8
cmp esi, dword [edx + 0x84]
ja 0x4af4e7
lea eax, [esi - 1]
mov dword [edx + 0x84], eax
mov ecx, dword [edx + 0x38]
movzx eax, byte [esi - 1]
movzx edx, byte [eax + ecx]
shr edx, 4
and edx, 1
mov ecx, dword [esp + 0x14c]
cmp esi, dword [ecx + 0x78]
jb 0x4af52a
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4af526
cmp esi, dword [ecx + 0x84]
jbe 0x4af526
mov dword [ecx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
xor ecx, ecx
jmp 0x4af53a
mov ecx, dword [ecx + 0x38]
movzx eax, byte [esi]
movzx ecx, byte [eax + ecx]
shr ecx, 4
and ecx, 1
mov ebp, dword [esp + 0x14]
xor edx, ecx
mov al, byte [ebp]
inc ebp
mov dword [esp + 0x14], ebp
cmp al, 5
jne 0x4af54f
xor edx, 1
test edx, edx
jne case.default.0x4af719
mov edx, dword [esp + 0x14c]
jmp 0x4ae059
mov edx, dword [edx + 0x18]
test edx, edx
je 0x4af59a
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4af5cb
push 0
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004b33e0
add esp, 0xc
test eax, eax
jne case.default.0x4af719
mov edx, dword [esp + 0x14c]
jmp case.0x4ae08a.13
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x78]
mov ecx, dword [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x4ae08a.13
mov al, byte [esi]
cmp al, byte [edx + 0x2c]
jne case.0x4ae08a.13
cmp ecx, 1
je case.default.0x4af719
mov al, byte [esi + 1]
cmp al, byte [edx + 0x2d]
je case.default.0x4af719
jmp case.0x4ae08a.13
mov edx, eax
cmp esi, dword [edx + 0x78]
jae 0x4b1339
mov ebp, dword [esp + 0x14]
inc esi
inc ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 4
jne case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 4
je case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 1
jne case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 1
je case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 0x10
jne case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 0x10
je case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4b1339
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp eax, 0x85
ja 0x4af744
je case.0x4af719.11
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x4af719
jmp dword [eax*4 + 0x4b20e0]
cmp esi, ecx
jae case.0x4af719.10
cmp byte [esi], 0xa
jne case.0x4af719.10
mov ebp, dword [esp + 0x14]
inc esi
inc ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
jmp 0x4ae059
sub eax, 0x2028
je case.0x4af719.11
sub eax, 1
jne case.default.0x4af719
cmp dword [edx + 0x64], 0
jne case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
mov al, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp al, 0xa0
ja case.0x4af719.10
je case.default.0x4af719
cmp al, 9
je case.default.0x4af719
cmp al, 0x20
je case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
mov al, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp al, 0xa0
ja case.default.0x4af719
je case.0x4af719.10
cmp al, 9
je case.0x4af719.10
cmp al, 0x20
jne case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp eax, 0x85
ja 0x4af815
je case.default.0x4af719
add eax, 0xfffffff6
cmp eax, 3
ja case.0x4af719.10
jmp dword [eax*4 + 0x4b20f0]
sub eax, 0x2028
je case.default.0x4af719
sub eax, 1
je case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp eax, 0x85
ja 0x4af868
je case.0x4af719.10
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x4af719
jmp dword [eax*4 + 0x4b2100]
sub eax, 0x2028
je case.0x4af719.10
sub eax, 1
jne case.default.0x4af719
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov ebx, dword [esp + 0x14]
xor edx, edx
cmp ebp, 0x6e
sete dl
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
add ebx, 3
shl ecx, 8
or ecx, eax
mov dword [esp + 0x34], edx
add ecx, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], ecx
cmp ecx, edi
jge 0x4af8d1
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x4af8d1
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, edi
jmp 0x4af8e2
mov eax, dword [esp + 0x14c]
mov ebp, dword [eax + 0x4c]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
mov bl, byte [ebx]
movzx edi, bl
lea eax, [edi - 0x62]
cmp eax, 7
ja case.default.0x4af8fa
movzx eax, byte [eax + 0x4b2118]
jmp dword [eax*4 + 0x4b2110]
movsx eax, byte [edi + 0x4bab6a]
lea ebx, [edi - 0x62]
inc dword [esp + 0x14]
and ebx, 1
mov dword [esp + 0x1c], ebx
movsx ebx, byte [edi + 0x4bab72]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4af96e
mov dword [esp + 0x28], CreateStatusWindowA
jmp 0x4af96e
mov edi, dword [esp + 0x14]
xor eax, eax
cmp bl, 0x69
sete al
movzx ebx, byte [edi + 1]
mov dword [esp + 0x1c], eax
movzx eax, byte [edi + 2]
movzx edi, byte [edi + 3]
shl ebx, 8
or ebx, eax
shl edi, 8
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + 4]
or edi, eax
mov eax, SysReAllocString
cmove edi, eax
add dword [esp + 0x14], 5
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x148]
test ebp, ebp
je 0x4ae032
jns 0x4af987
test ebx, ebx
je 0x4ae032
mov edi, 1
cmp ebx, edi
jl 0x4af9be
push edx
push dword [esp + 0x150]
mov edx, esi
push ebp
call fcn.004adef0
add esp, 0xc
test eax, eax
js 0x4b1352
mov ecx, dword [esp + 0x2c]
add esi, eax
mov edx, dword [esp + 0x34]
inc edi
mov dword [esp + 0x18], esi
cmp edi, ebx
jle 0x4af990
mov eax, dword [esp + 0x28]
cmp ebx, eax
je 0x4ae040
cmp dword [esp + 0x1c], 0
je 0x4b1388
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov edi, dword [esp + 0x2c]
cmp ebx, dword [esp + 0x28]
jge case.default.0x4af719
push dword [esp + 0x34]
mov edx, esi
mov ecx, edi
push dword [esp + 0x150]
push ebp
call fcn.004adef0
add esp, 0xc
test eax, eax
js 0x4b1352
mov edx, dword [esp + 0x14]
add esi, eax
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
inc ebx
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4afa14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ebx, dword [esp + 0x14c]
push edx
push ebx
push ebp
mov edx, esi
call fcn.004adef0
add esp, 0xc
test eax, eax
js 0x4b143c
add esi, eax
mov edx, ebx
mov dword [esp + 0x18], esi
jmp 0x4ae047
mov edi, dword [esp + 0x14]
mov dl, byte [edi + 0x21]
lea ebp, [edi + 1]
add edi, 0x21
movzx ecx, dl
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x14], edi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x4afad7
movzx eax, byte [eax + 0x4b2128]
jmp dword [eax*4 + 0x4b2120]
movsx eax, byte [ecx + 0x4bab6a]
lea edx, [ecx - 0x62]
movsx ebx, byte [ecx + 0x4bab72]
inc edi
and edx, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4afb46
mov dword [esp + 0x28], CreateStatusWindowA
jmp 0x4afb46
movzx ebx, byte [edi + 1]
xor eax, eax
movzx ecx, byte [edi + 3]
cmp dl, 0x69
sete al
shl ebx, 8
mov dword [esp + 0x20], eax
movzx eax, byte [edi + 2]
or ebx, eax
shl ecx, 8
movzx eax, byte [edi + 4]
or ecx, eax
mov eax, SysReAllocString
cmove ecx, eax
add edi, 5
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], edi
cmp ebx, 1
jl 0x4afba3
jmp 0x4afb5a
mov dword [esp + 0x28], 1
mov ebx, 1
mov ecx, dword [esp + 0x14c]
mov edi, 1
mov ebp, dword [ecx + 0x78]
nop dword [eax]
cmp esi, ebp
jae 0x4b152b
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
inc esi
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], esi
test byte [edx + ecx], al
je case.default.0x4af719
inc edi
cmp edi, ebx
jle 0x4afb70
mov ebp, ecx
mov edi, dword [esp + 0x28]
cmp ebx, edi
je 0x4ae040
cmp dword [esp + 0x20], 0
je 0x4b146b
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
cmp ebx, edi
jge case.default.0x4af719
mov ecx, dword [esp + 0x14c]
cmp esi, dword [ecx + 0x78]
jae 0x4b1532
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
inc esi
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x4af719
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
inc ebx
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4afbf5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [edx + 0x78]
sub eax, esi
cmp eax, 1
jl 0x4b1339
mov ebp, dword [esp + 0x14]
mov al, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp byte [ebp + 1], al
jne case.default.0x4af719
add ebp, 2
mov dword [esp + 0x14], ebp
jmp 0x4ae059
cmp esi, dword [edx + 0x78]
jae 0x4b1339
mov ebp, dword [esp + 0x14]
mov edx, dword [edx + 0x30]
movzx ecx, byte [esi]
movzx eax, byte [ebp + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.default.0x4af719
mov edx, dword [esp + 0x14c]
inc esi
add ebp, 2
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
jmp 0x4ae059
mov edx, dword [esp + 0x14]
movzx ebp, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebp, 8
or ebp, eax
add edx, 3
mov edi, ebp
jmp 0x4afda6
mov dword [esp + 0x30], 1
mov edx, dword [esp + 0x14]
xor edi, edi
movzx ebp, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x1c], ebp
cmp cl, 0x28
je 0x4afd1d
mov dword [esp + 0x20], edi
cmp cl, 0x35
jne 0x4afd25
mov dword [esp + 0x20], 1
add edx, 3
jmp 0x4afdaa
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], 1
mov ebp, SysReAllocString
inc edx
jmp 0x4afda6
mov edx, dword [esp + 0x14]
mov edi, 1
mov dword [esp + 0x30], 1
mov ebp, SysReAllocString
inc edx
jmp 0x4afda6
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], 1
inc edx
lea ebp, [edi + 1]
jmp 0x4afda6
cmp ebp, 0x2e
sbb eax, eax
inc dword [esp + 0x14]
and eax, 0xfffffff3
add eax, 0x2e
sub ebp, eax
mov eax, SysReAllocString
mov edx, ebp
and edx, 1
mov dword [esp + 0x20], edx
movsx edi, byte [ebp + 0x4babd4]
movsx ebp, byte [ebp + 0x4babcc]
mov edx, dword [esp + 0x14]
test ebp, ebp
cmove ebp, eax
mov dword [esp + 0x1c], ebp
movzx ebx, byte [edx]
inc edx
mov dword [esp + 0x14], edx
cmp cl, 0x2e
jb 0x4afeee
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0x34]
mov al, byte [ebx + eax]
mov byte [esp + 0x27], al
movzx ebp, al
cmp edi, 1
jl 0x4afe08
mov edx, dword [ecx + 0x78]
mov ecx, 1
nop dword [eax]
cmp esi, edx
jae 0x4b152b
movzx eax, byte [esi]
cmp ebx, eax
je 0x4afdf7
cmp ebp, eax
jne case.default.0x4af719
inc esi
inc ecx
mov dword [esp + 0x18], esi
cmp ecx, edi
jle 0x4afde0
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x1c]
cmp edi, edx
je 0x4ae040
cmp dword [esp + 0x20], 0
jne 0x4b1545
mov eax, esi
mov dword [esp + 0x28], eax
cmp edi, edx
jge 0x4afe51
mov ecx, dword [ecx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4afebc
movzx eax, byte [esi]
cmp ebx, eax
je 0x4afe43
cmp ebp, eax
jne 0x4afe4d
inc esi
inc edi
mov dword [esp + 0x18], esi
cmp edi, edx
jl 0x4afe30
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x30], 0
jne 0x4ae047
cmp esi, eax
jb case.default.0x4af719
mov edi, dword [esp + 0x28]
nop
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
dec esi
test eax, eax
jne 0x4b1028
mov edx, dword [esp + 0x14c]
cmp esi, edi
jae 0x4afe70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4afee5
cmp esi, dword [edx + 0x84]
jbe 0x4afee5
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
mov eax, dword [esp + 0x28]
jmp 0x4afe58
mov ecx, 1
cmp edi, ecx
jl 0x4aff22
mov eax, dword [esp + 0x14c]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x4b152b
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp ebx, eax
jne case.default.0x4af719
inc ecx
cmp ecx, edi
jle 0x4aff01
mov edx, dword [esp + 0x14]
cmp edi, ebp
je 0x4ae040
cmp dword [esp + 0x20], 0
jne 0x4b15e9
mov edx, dword [esp + 0x1c]
mov ebp, esi
cmp edi, edx
jge 0x4aff65
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4affcc
movzx eax, byte [esi]
cmp ebx, eax
jne 0x4aff65
inc esi
inc edi
mov dword [esp + 0x18], esi
cmp edi, edx
jl 0x4aff50
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x30], 0
jne 0x4ae047
cmp esi, ebp
jb case.default.0x4af719
nop
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
dec esi
test eax, eax
jne 0x4b1028
mov edx, dword [esp + 0x14c]
cmp esi, ebp
jae 0x4aff80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4aff6c
cmp esi, dword [edx + 0x84]
jbe 0x4aff6c
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
jmp 0x4aff6c
cmp esi, dword [edx + 0x78]
jae 0x4b1339
mov eax, dword [esp + 0x14]
movzx ecx, byte [esi]
inc esi
mov dword [esp + 0x18], esi
movzx edx, byte [eax + 1]
add eax, 2
mov dword [esp + 0x14], eax
cmp ebp, 0x20
jne 0x4b004d
cmp edx, ecx
je case.default.0x4af719
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0x34]
movzx eax, byte [eax + edx]
cmp eax, ecx
je case.default.0x4af719
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x14]
jmp 0x4ae059
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x14], ebp
cmp edx, ecx
je case.default.0x4af719
mov edx, dword [esp + 0x14c]
jmp 0x4ae059
mov edx, dword [esp + 0x14]
movzx ebp, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebp, 8
or ebp, eax
add edx, 3
mov edi, ebp
jmp 0x4b0155
mov edx, dword [esp + 0x14]
xor edi, edi
movzx ebp, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x1c], ebp
cmp cl, 0x42
je 0x4b00a9
mov dword [esp + 0x20], edi
cmp cl, 0x4f
jne 0x4b00b1
mov dword [esp + 0x20], 1
add edx, 3
jmp 0x4b0159
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], 1
mov ebp, SysReAllocString
inc edx
jmp 0x4b0155
mov edx, dword [esp + 0x14]
mov edi, 1
mov dword [esp + 0x30], 1
mov ebp, SysReAllocString
inc edx
jmp 0x4b0155
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], 1
inc edx
lea ebp, [edi + 1]
jmp 0x4b0155
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], 1
movzx ebp, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebp, 8
or ebp, eax
add edx, 3
jmp 0x4b0155
cmp ebp, 0x48
sbb eax, eax
inc dword [esp + 0x14]
and eax, 0xfffffff3
add eax, 0x48
sub ebp, eax
mov eax, SysReAllocString
mov edx, ebp
and edx, 1
mov dword [esp + 0x20], edx
movsx edi, byte [ebp + 0x4babd4]
movsx ebp, byte [ebp + 0x4babcc]
mov edx, dword [esp + 0x14]
test ebp, ebp
cmove ebp, eax
mov dword [esp + 0x1c], ebp
movzx ebx, byte [edx]
inc edx
cmp cl, 0x48
mov dword [esp + 0x14], edx
mov ecx, 1
jb 0x4b029e
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x34]
mov al, byte [ebx + eax]
mov byte [esp + 0x27], al
movzx ebp, al
cmp edi, ecx
jl 0x4b01b5
mov edx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x4b152b
movzx eax, byte [esi]
cmp ebx, eax
je case.default.0x4af719
cmp ebp, eax
je case.default.0x4af719
inc esi
inc ecx
mov dword [esp + 0x18], esi
cmp ecx, edi
jle 0x4b0190
mov edx, dword [esp + 0x1c]
cmp edi, edx
je 0x4ae040
cmp dword [esp + 0x20], 0
jne 0x4b1681
mov eax, esi
mov dword [esp + 0x1c], eax
cmp edi, edx
jge 0x4b0201
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4b026c
movzx eax, byte [esi]
cmp ebx, eax
je 0x4b01fd
cmp ebp, eax
je 0x4b01fd
inc esi
inc edi
mov dword [esp + 0x18], esi
cmp edi, edx
jl 0x4b01e0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x30], 0
jne 0x4ae047
cmp esi, eax
jb case.default.0x4af719
mov edi, dword [esp + 0x1c]
nop
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov edx, dword [esp + 0x14c]
dec esi
cmp esi, edi
jae 0x4b0220
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4b0295
cmp esi, dword [edx + 0x84]
jbe 0x4b0295
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
mov eax, dword [esp + 0x1c]
jmp 0x4b0208
cmp edi, 1
jl 0x4b02d1
mov eax, dword [esp + 0x14c]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x4b152b
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp ebx, eax
je case.default.0x4af719
inc ecx
cmp ecx, edi
jle 0x4b02b0
mov edx, dword [esp + 0x14]
cmp edi, ebp
je 0x4ae040
cmp dword [esp + 0x20], 0
jne 0x4b172d
mov edx, dword [esp + 0x1c]
mov ebp, esi
cmp edi, edx
jge 0x4b0311
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4b037c
movzx eax, byte [esi]
cmp ebx, eax
je 0x4b0311
inc esi
inc edi
mov dword [esp + 0x18], esi
cmp edi, edx
jl 0x4b02f8
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x30], 0
jne 0x4ae047
cmp esi, ebp
jb case.default.0x4af719
nop dword [eax + eax]
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov edx, dword [esp + 0x14c]
dec esi
cmp esi, ebp
jae 0x4b0330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4b0318
cmp esi, dword [edx + 0x84]
jbe 0x4b0318
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
jmp 0x4b0318
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], 1
movzx ebp, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ebp, 8
or ebp, eax
add edi, 3
mov dword [esp + 0x1c], ebp
mov ebx, ebp
jmp 0x4b04de
mov edi, dword [esp + 0x14]
xor ebx, ebx
movzx ebp, byte [edi + 3]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], ebp
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], ecx
lea eax, [edi + 3]
xor ecx, ecx
cmp byte [esp + 0x27], 0x5c
sete cl
inc eax
mov dword [esp + 0x14], eax
jmp 0x4b0595
mov ebp, SysReAllocString
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x30], 1
movzx ecx, byte [eax + 1]
add eax, 2
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
jmp 0x4b05bb
mov eax, dword [esp + 0x14]
mov ebx, 1
mov dword [esp + 0x30], 1
mov dword [esp + 0x1c], CreateStatusWindowA
movzx edx, byte [eax + 1]
add eax, 2
mov dword [esp + 0x28], edx
mov ecx, edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], eax
jmp 0x4b0504
mov ebp, 1
jmp 0x4b0418
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x30], 1
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x1c], ecx
movzx ecx, byte [edi + 3]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ecx
lea ecx, [edi + 4]
mov dword [esp + 0x14], ecx
jmp 0x4b058d
mov edi, dword [esp + 0x14]
lea edx, [ebp - 0x55]
movsx ebx, byte [ebp + 0x4bab7f]
and edx, 1
mov dword [esp + 0x20], edx
inc edi
movsx edx, byte [ebp + 0x4bab77]
mov eax, SysReAllocString
test edx, edx
cmove edx, eax
mov dword [esp + 0x1c], edx
movzx eax, byte [edi]
inc edi
mov dword [esp + 0x28], eax
mov ecx, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], 0
test ebx, ebx
jle 0x4b0907
lea eax, [ecx - 6]
cmp eax, 0xf
ja case.0x4b18f6.15
jmp dword [eax*4 + 0x4b2130]
mov edi, 1
cmp ebx, edi
jb 0x4b0907
mov ebp, dword [esp + 0x14c]
nop dword [eax + eax]
mov eax, dword [ebp + 0x78]
cmp esi, eax
jae 0x4b17c5
mov edx, dword [ebp + 0x18]
lea ecx, [ebp + 0x1c]
test edx, edx
je 0x4b055d
push 0
push ecx
push eax
mov ecx, esi
call fcn.004b33e0
add esp, 0xc
test eax, eax
jne case.default.0x4af719
jmp 0x4b0581
mov ecx, dword [ecx]
sub eax, ecx
cmp esi, eax
ja 0x4b0581
mov al, byte [esi]
cmp al, byte [ebp + 0x2c]
jne 0x4b0581
cmp ecx, 1
je case.default.0x4af719
mov al, byte [esi + 1]
cmp al, byte [ebp + 0x2d]
je case.default.0x4af719
inc esi
inc edi
mov dword [esp + 0x18], esi
cmp edi, ebx
jle 0x4b0530
mov edx, ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov ebp, eax
mov edi, esi
cmp ebx, dword [esp + 0x1c]
je 0x4ae047
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
test ecx, ecx
jne 0x4b1811
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x1c]
lea eax, [ecx - 6]
mov edi, esi
cmp eax, 0xf
ja case.0x4b18f6.15
jmp dword [eax*4 + 0x4b2170]
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x78]
sub eax, ebx
cmp esi, eax
ja 0x4b1339
add esi, ebx
mov dword [esp + 0x18], esi
jmp 0x4b058d
mov ecx, 1
cmp ebx, ecx
jb 0x4b0907
mov edi, dword [esp + 0x14c]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x4b17eb
movzx eax, byte [esi]
inc esi
sub eax, 0xa
mov dword [esp + 0x18], esi
cmp eax, 0x7b
ja case.default.0x4af719
movzx eax, byte [eax + 0x4b21c0]
jmp dword [eax*4 + 0x4b21b0]
cmp esi, edx
jae case.0x4b0626.10
cmp byte [esi], 0xa
jne case.0x4b0626.10
inc esi
mov dword [esp + 0x18], esi
jmp case.0x4b0626.10
cmp dword [edi + 0x64], 0
jne case.default.0x4af719
inc ecx
cmp ecx, ebx
jle 0x4b0603
mov edx, edi
jmp 0x4b058d
mov ecx, 1
cmp ebx, ecx
jb 0x4b0907
mov edi, dword [esp + 0x14c]
mov edx, dword [edi + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x4b17eb
mov al, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp al, 9
je case.default.0x4af719
cmp al, 0x20
je case.default.0x4af719
cmp al, 0xa0
je case.default.0x4af719
inc ecx
cmp ecx, ebx
jle 0x4b0670
mov edx, edi
jmp 0x4b058d
mov ecx, 1
cmp ebx, ecx
jb 0x4b0907
mov edi, dword [esp + 0x14c]
mov edx, dword [edi + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x4b17eb
mov al, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp al, 9
je 0x4b06df
cmp al, 0x20
je 0x4b06df
cmp al, 0xa0
jne case.default.0x4af719
inc ecx
cmp ecx, ebx
jle 0x4b06c0
mov edx, edi
jmp 0x4b058d
mov ecx, 1
cmp ebx, ecx
jb 0x4b0907
mov edi, dword [esp + 0x14c]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x4b17eb
movzx eax, byte [esi]
inc esi
sub eax, 0xa
mov dword [esp + 0x18], esi
cmp eax, 0x7b
ja case.0x4b0721.14
movzx eax, byte [eax + 0x4b2244]
jmp dword [eax*4 + 0x4b223c]
inc ecx
cmp ecx, ebx
jle 0x4b0702
mov edx, edi
jmp 0x4b058d
mov ecx, 1
cmp ebx, ecx
jb 0x4b0907
mov edi, dword [esp + 0x14c]
mov edx, dword [edi + 0x78]
nop dword [eax + eax]
cmp esi, edx
jae 0x4b17eb
movzx eax, byte [esi]
inc esi
sub eax, 0xa
mov dword [esp + 0x18], esi
cmp eax, 0x7b
ja case.default.0x4af719
movzx eax, byte [eax + 0x4b22c8]
jmp dword [eax*4 + 0x4b22c0]
inc ecx
cmp ecx, ebx
jle 0x4b0750
mov edx, edi
jmp 0x4b058d
mov edx, 1
cmp ebx, edx
jb 0x4b0907
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x4b17c5
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
jne case.default.0x4af719
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4b07a0
jmp 0x4b058b
mov edx, 1
cmp ebx, edx
jb 0x4b0907
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop
cmp esi, edi
jae 0x4b17c5
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
je case.default.0x4af719
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4b07e0
jmp 0x4b058b
mov edx, 1
cmp ebx, edx
jb 0x4b0907
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop
cmp esi, edi
jae 0x4b17c5
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
jne case.default.0x4af719
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4b0820
jmp 0x4b058b
mov edx, 1
cmp ebx, edx
jb 0x4b0907
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop
cmp esi, edi
jae 0x4b17c5
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
je case.default.0x4af719
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4b0860
jmp 0x4b058b
mov edx, 1
cmp ebx, edx
jb 0x4b0907
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x4b17c5
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
jne case.default.0x4af719
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4b08a0
jmp 0x4b058b
mov edx, 1
cmp ebx, edx
jb 0x4b0907
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x4b17c5
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
je case.default.0x4af719
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4b08e0
jmp 0x4b058b
mov edx, dword [esp + 0x14c]
jmp 0x4b058d
cmp ebx, ebp
jge 0x4b0cac
nop dword [eax + eax]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x4b0b79
mov ecx, dword [esp + 0x14c]
mov edx, dword [edx + 0x18]
add ecx, 0x1c
test edx, edx
je 0x4b095b
push 0
push ecx
push eax
mov ecx, esi
call fcn.004b33e0
mov edx, dword [esp + 0x158]
add esp, 0xc
test eax, eax
jne 0x4b0cac
jmp 0x4b0986
mov ecx, dword [ecx]
sub eax, ecx
mov edx, dword [esp + 0x14c]
cmp esi, eax
ja 0x4b0986
mov al, byte [esi]
cmp al, byte [edx + 0x2c]
jne 0x4b0986
cmp ecx, 1
je 0x4b0cac
mov al, byte [esi + 1]
cmp al, byte [edx + 0x2d]
je 0x4b0cac
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0920
jmp 0x4b0cac
mov ecx, dword [edx + 0x78]
sub ebp, ebx
mov eax, ecx
sub eax, esi
cmp ebp, eax
jbe 0x4b09d7
mov eax, dword [edx + 0x88]
mov esi, ecx
mov dword [esp + 0x18], esi
test eax, eax
je 0x4b0cac
cmp esi, dword [edx + 0x84]
jbe 0x4b0cac
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
jmp 0x4b0cac
add esi, ebp
mov dword [esp + 0x18], esi
jmp 0x4b0cac
cmp ebx, ebp
jge 0x4b0cac
mov ecx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4b0b79
mov al, byte [esi]
cmp al, 0xd
jne 0x4b0a12
inc esi
mov dword [esp + 0x18], esi
cmp esi, ecx
jae 0x4b0cac
cmp byte [esi], 0xa
jne 0x4b0a35
jmp 0x4b0a30
cmp al, 0xa
je 0x4b0a30
cmp dword [edx + 0x64], 0
jne 0x4b0cac
cmp al, 0xb
je 0x4b0a30
cmp al, 0xc
je 0x4b0a30
cmp al, 0x85
jne 0x4b0cac
inc esi
mov dword [esp + 0x18], esi
inc ebx
cmp ebx, ebp
jl 0x4b09f0
jmp 0x4b0cac
cmp ebx, ebp
jge 0x4b0cac
mov ecx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, ecx
jae 0x4b0b79
mov al, byte [esi]
cmp al, 9
je 0x4b0cac
cmp al, 0x20
je 0x4b0cac
cmp al, 0xa0
je 0x4b0cac
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0a50
jmp 0x4b0cac
cmp ebx, ebp
jge 0x4b0cac
mov ecx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4b0b79
mov al, byte [esi]
cmp al, 9
je 0x4b0aaa
cmp al, 0x20
je 0x4b0aaa
cmp al, 0xa0
jne 0x4b0cac
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0a90
jmp 0x4b0cac
cmp ebx, ebp
jge 0x4b0cac
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4b0b79
mov al, byte [esi]
cmp al, 0xa
je 0x4b0cac
cmp al, 0xb
je 0x4b0cac
cmp al, 0xc
je 0x4b0cac
cmp al, 0xd
je 0x4b0cac
cmp al, 0x85
je 0x4b0cac
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0ac4
jmp 0x4b0cac
cmp ebx, ebp
jge 0x4b0cac
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4b0b79
mov al, byte [esi]
cmp al, 0xa
je 0x4b0b2e
cmp al, 0xb
je 0x4b0b2e
cmp al, 0xc
je 0x4b0b2e
cmp al, 0xd
je 0x4b0b2e
cmp al, 0x85
jne 0x4b0cac
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0b10
jmp 0x4b0cac
cmp ebx, ebp
jge 0x4b0cac
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x4b0b72
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 4
jne 0x4b0ca5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0b48
jmp 0x4b0ca5
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4b0cac
cmp esi, dword [edx + 0x84]
jbe 0x4b0cac
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
jmp 0x4b0cac
cmp ebx, ebp
jge 0x4b0cac
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x4b0b72
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 4
je 0x4b0ca5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0bb3
jmp 0x4b0ca5
cmp ebx, ebp
jge 0x4b0cac
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x4b0b72
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 1
jne 0x4b0ca5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0be8
jmp 0x4b0ca5
cmp ebx, ebp
jge 0x4b0cac
mov edx, dword [edx + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x4b0b72
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 1
je 0x4b0ca5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0c20
jmp 0x4b0ca5
cmp ebx, ebp
jge 0x4b0cac
mov edx, dword [edx + 0x78]
nop
cmp esi, edx
jae 0x4b0b72
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 0x10
jne 0x4b0ca5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0c50
jmp 0x4b0ca5
cmp ebx, ebp
jge 0x4b0cac
mov edx, dword [edx + 0x78]
nop
cmp esi, edx
jae 0x4b0b72
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 0x10
je 0x4b0ca5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4b0c80
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x30], 0
jne 0x4ae047
cmp esi, edi
jb case.default.0x4af719
nop
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
dec esi
cmp dword [esp + 0x28], 0x11
jne 0x4b0d10
cmp esi, edi
jbe 0x4b0d12
cmp byte [esi], 0xa
jne 0x4b0d10
cmp byte [esi - 1], 0xd
lea eax, [esi - 1]
cmove esi, eax
cmp esi, edi
mov edx, dword [esp + 0x14c]
jae 0x4b0cc0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
cmp al, 0x74
mov eax, dword [esp + 0x154]
jne 0x4b0d66
inc eax
push eax
push dword [esp + 0x154]
push edx
push ecx
push dword [esp + 0x154]
lea edx, [edi + 3]
mov ecx, esi
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov edx, dword [esp + 0x14c]
jmp 0x4b1011
inc eax
mov dword [edx + 0x98], 2
push eax
push dword [esp + 0x154]
push edx
push ecx
push dword [esp + 0x154]
mov edx, ebp
mov ecx, esi
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
add ebp, 3
jmp 0x4b1011
mov eax, dword [edi + 0x8c]
cmp eax, dword [esp + 0x148]
movzx ecx, byte [ebp + 4]
cmovle eax, dword [esp + 0x148]
mov edx, eax
shl ecx, 8
movzx eax, byte [ebp + 5]
add ebp, 3
or ecx, eax
mov dword [esp + 0x148], edx
add ebp, ecx
cmp byte [ebp], 0x71
jne 0x4ae76d
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4b0de3
jmp 0x4ae76d
cmp al, 0x75
je 0x4b12ad
cmp al, 0x74
jne 0x4b0e56
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push edi
push dword [esp + 0x154]
lea edx, [ebx + 3]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov al, byte [ebp]
cmp al, 0x7b
je 0x4b125e
cmp al, 0x82
jae 0x4b121d
mov edx, dword [esp + 0x14c]
jmp 0x4b1011
cmp byte [ebp], 0x82
jb 0x4b0e66
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push edi
push dword [esp + 0x154]
mov edx, ebp
call fcn.004adf80
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x4b0ea7
mov ecx, dword [esp + 0x14c]
cmp dword [ecx + 0xb4], ebp
jne 0x4b1028
jmp 0x4b0eb6
test eax, eax
jne 0x4b1028
mov ecx, dword [esp + 0x14c]
add ebx, 3
cmp byte [ebp], 0x7b
mov dword [esp + 0x14], ebx
je 0x4b1298
mov edx, dword [esp + 0x14c]
mov ebp, ebx
jmp 0x4b1015
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x14c]
movzx edx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
shl edx, 8
or edx, eax
mov dword [esp + 0x28], edx
lea eax, [edx + edx]
mov dword [esp + 0x38], eax
cmp eax, dword [edi + 0x14]
jge 0x4b0fda
mov ecx, dword [edi + 0xc]
mov ebx, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x10]
sub eax, edx
mov dword [esp + 0x2c], ebx
lea ecx, [ecx + eax*4]
mov edx, edi
mov eax, dword [ecx]
mov dword [esp + 0x1c], eax
mov eax, esi
sub eax, dword [edx + 0x74]
mov ebx, dword [edx + 0x90]
mov ebp, dword [edx + 0xac]
mov dword [ecx], eax
cmp byte [esp + 0x27], 0x82
jb 0x4b0f47
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ecx]
push edx
push dword [esp + 0x154]
movzx edx, byte [eax + 0x4bb020]
push dword [esp + 0x154]
add edx, ecx
mov ecx, esi
call fcn.004adf80
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1c
je 0x4b1ac0
cmp edi, 0xfffffc20
jne 0x4b1a83
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add edx, eax
mov eax, dword [esp + 0x14c]
cmp dword [eax + 0x7c], edx
jae 0x4b1af8
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x71
je 0x4b0fcf
cmp byte [edx], 0x71
jne 0x4b1af8
xor edi, edi
jmp 0x4b1a8b
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
cmp cl, 0x82
jae 0x4b1033
cmp cl, 0x7b
je 0x4b1033
cmp dword [edx + 0x68], 0
jne 0x4b103d
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + ebp], 0x71
je 0x4b103d
movzx eax, byte [ebp]
movzx eax, byte [eax + 0x4bb020]
add ebp, eax
mov dword [esp + 0x14], ebp
mov eax, dword [edx]
cmp eax, dword [edx + 4]
jb 0x4adff0
inc eax
mov dword [edx], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, esi
mov ebx, dword [edx + 0xac]
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ebp]
push edx
push dword [esp + 0x154]
movzx edx, byte [eax + 0x4bb020]
push dword [esp + 0x154]
add edx, ebp
call fcn.004adf80
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc20
jne 0x4b10b3
movzx edx, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
mov eax, dword [esp + 0x14c]
shl edx, 8
or edx, ecx
add edx, ebp
cmp dword [eax + 0x7c], edx
jae 0x4b1b56
cmp byte [ebp], 0x71
je 0x4b10bb
cmp byte [edx], 0x71
jne 0x4b1b56
jmp 0x4b10bb
test edi, edi
jne 0x4b1b05
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
mov edx, dword [esp + 0x14c]
shl ecx, 8
or ecx, eax
add ebp, ecx
mov dword [edx + 0xac], ebx
cmp byte [ebp], 0x71
jne case.default.0x4af719
mov cl, byte [esp + 0x27]
jmp 0x4b0fe1
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ebp + 0x4bb020]
push edx
push edi
push ebx
mov ebx, dword [esp + 0x28]
add eax, ebx
movzx edx, byte [ebx + 1]
add edx, eax
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b1130
cmp eax, 0xfffffc1d
je 0x4b1130
cmp eax, 0xfffffc20
jne 0x4b1028
mov ecx, dword [esp + 0x14c]
lea eax, [ebx + 2]
mov dword [ecx + 0x7c], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
mov dword [edi + 0x98], 2
push eax
push dword [esp + 0x154]
push edi
push edx
push dword [esp + 0x154]
mov edx, ebp
call fcn.004adf80
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0xc8]
cmp eax, ecx
je 0x4b11b0
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0xc8]
mov dword [ebp + 0xa4], edx
cmp eax, ecx
je case.default.0x4af719
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x144]
mov dword [edi + 0x7c], eax
mov eax, 1
mov dword [edi + 0x80], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov edx, ebp
mov ecx, dword [esp + 0x14c]
inc eax
push eax
push dword [esp + 0x154]
push ecx
push edi
push dword [esp + 0x154]
mov dword [ecx + 0x98], 2
mov ecx, esi
call fcn.004adf80
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov edx, ebp
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push edi
push dword [esp + 0x154]
mov ecx, esi
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b12f6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov edx, ebx
inc eax
push eax
push dword [esp + 0x154]
push ecx
jmp 0x4b1277
mov dword [edx + 0x80], esi
mov eax, 0xfffffc1b
mov dword [edx + 0x8c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push edi
push dword [esp + 0x154]
mov edx, ebx
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov eax, dword [esp + 0x14c]
mov dword [eax + 0xb4], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x144]
mov dword [edx + 0x80], esi
mov dword [edx + 0x8c], edi
mov dword [edx + 0x7c], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [edx + 0x88]
test eax, eax
je case.default.0x4af719
cmp esi, dword [edx + 0x84]
jmp 0x4b1a5d
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x4af719
cmp esi, dword [ecx + 0x78]
jb case.default.0x4af719
cmp esi, dword [ecx + 0x84]
jbe case.default.0x4af719
mov dword [ecx + 0x60], 1
jmp 0x4b1a6a
mov edi, esi
cmp ebx, eax
jge 0x4b13f0
nop
push edx
push dword [esp + 0x150]
mov edx, esi
push ebp
call fcn.004adef0
add esp, 0xc
test eax, eax
js 0x4b13ba
mov ecx, dword [esp + 0x2c]
inc ebx
mov edx, dword [esp + 0x34]
add esi, eax
cmp ebx, dword [esp + 0x28]
jl 0x4b1390
jmp 0x4b13e8
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4b13e8
cmp esi, dword [ecx + 0x78]
jb 0x4b13e8
cmp esi, dword [ecx + 0x84]
jbe 0x4b13e8
mov dword [ecx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
cmp esi, edi
jb case.default.0x4af719
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
sub esi, ebp
cmp esi, edi
jae 0x4b13f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [ebx + 0x88]
test eax, eax
je case.default.0x4af719
cmp esi, dword [ebx + 0x78]
jb case.default.0x4af719
cmp esi, dword [ebx + 0x84]
jbe case.default.0x4af719
mov dword [ebx + 0x60], 1
jmp 0x4b1a6a
mov edi, esi
cmp ebx, dword [esp + 0x28]
jge 0x4b14e0
mov ecx, dword [esp + 0x14c]
mov ebp, dword [ecx + 0x78]
nop dword [eax]
cmp esi, ebp
jae 0x4b14a9
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
mov ecx, dword [esp + 0x2c]
test byte [edx + ecx], al
je 0x4b14d2
inc ebx
inc esi
cmp ebx, dword [esp + 0x28]
jl 0x4b1480
jmp 0x4b14d2
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4b14d2
cmp esi, dword [ecx + 0x84]
jbe 0x4b14d2
mov dword [ecx + 0x60], 1
cmp eax, 1
jg 0x4b1a73
cmp esi, edi
jb case.default.0x4af719
nop word [eax + eax]
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
dec esi
cmp esi, edi
jae 0x4b14e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x4af719
jmp 0x4b1370
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push ecx
push dword [esp + 0x154]
mov ecx, esi
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov ebp, dword [esp + 0x1c]
nop
cmp edi, ebp
jge case.default.0x4af719
mov edx, dword [esp + 0x14c]
cmp esi, dword [edx + 0x78]
jae 0x4b1339
mov cl, byte [esi]
movzx eax, cl
cmp ebx, eax
je 0x4b15ab
cmp byte [esp + 0x27], cl
jne case.default.0x4af719
mov eax, dword [esp + 0x154]
inc esi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x154]
inc edi
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b1580
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
cmp edi, ebp
jge case.default.0x4af719
mov ecx, dword [esp + 0x14c]
cmp esi, dword [ecx + 0x78]
jae 0x4b1532
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.default.0x4af719
mov eax, dword [esp + 0x154]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push ecx
push dword [esp + 0x154]
mov ecx, esi
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b1620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov ebp, dword [esp + 0x1c]
cmp edi, ebp
jge case.default.0x4af719
mov edx, dword [esp + 0x14c]
cmp esi, dword [edx + 0x78]
jae 0x4b1339
mov cl, byte [esi]
movzx eax, cl
cmp ebx, eax
je case.default.0x4af719
cmp byte [esp + 0x27], cl
je case.default.0x4af719
mov eax, dword [esp + 0x154]
inc esi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x154]
inc edi
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b16c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
cmp edi, ebp
jge case.default.0x4af719
mov ecx, dword [esp + 0x14c]
cmp esi, dword [ecx + 0x78]
jae 0x4b1532
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.default.0x4af719
mov eax, dword [esp + 0x154]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push ecx
push dword [esp + 0x154]
mov ecx, esi
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b1764
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4af719
cmp esi, dword [ebp + 0x84]
jbe case.default.0x4af719
mov dword [ebp + 0x60], 1
jmp 0x4b1a6a
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x4af719
cmp esi, dword [edi + 0x84]
jbe case.default.0x4af719
mov dword [edi + 0x60], 1
jmp 0x4b1a6a
mov eax, dword [esp + 0x154]
mov ecx, edi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, ebp
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
jne 0x4b1028
mov esi, dword [esp + 0x34]
nop dword [eax + eax]
cmp ebx, dword [esp + 0x1c]
jge case.default.0x4af719
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x78]
cmp edi, eax
jae 0x4b1a49
cmp dword [esp + 0x28], 0xc
jne 0x4b18e6
mov ecx, dword [esp + 0x14c]
mov edx, dword [edx + 0x18]
add ecx, 0x1c
test edx, edx
je 0x4b18ae
push 0
push ecx
push eax
mov ecx, edi
call fcn.004b33e0
add esp, 0xc
test eax, eax
jne case.default.0x4af719
movzx ecx, byte [edi]
inc edi
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14c]
add eax, 0xfffffffa
jmp switch.0x004b18f6
mov ecx, dword [ecx]
sub eax, ecx
mov edx, dword [esp + 0x14c]
cmp edi, eax
ja 0x4b18d9
mov al, byte [edi]
cmp al, byte [edx + 0x2c]
jne 0x4b18d9
cmp ecx, 1
je case.default.0x4af719
mov al, byte [edi + 1]
cmp al, byte [edx + 0x2d]
je case.default.0x4af719
movzx ecx, byte [edi]
inc edi
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffa
jmp switch.0x004b18f6
movzx ecx, byte [edi]
lea eax, [esi - 6]
inc edi
cmp eax, 0xf
ja case.0x4b18f6.15
jmp dword [eax*4 + 0x4b2344]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.default.0x4af719
movzx eax, byte [ecx + 0x4b2394]
jmp dword [eax*4 + 0x4b2384]
cmp edi, dword [edx + 0x78]
jae case.0x4b18f6.12
cmp byte [edi], 0xa
jne case.0x4b18f6.12
inc edi
jmp case.0x4b18f6.12
cmp dword [edx + 0x64], 0
jne case.default.0x4af719
jmp case.0x4b18f6.12
cmp ecx, 9
je case.default.0x4af719
cmp ecx, 0x20
je case.default.0x4af719
cmp ecx, 0xa0
jmp 0x4b19f4
cmp ecx, 9
je case.0x4b18f6.12
cmp ecx, 0x20
je case.0x4b18f6.12
cmp ecx, 0xa0
jne case.default.0x4af719
jmp case.0x4b18f6.12
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4b18f6.12
movzx eax, byte [ecx + 0x4b2418]
jmp dword [eax*4 + 0x4b2410]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.default.0x4af719
movzx eax, byte [ecx + 0x4b249c]
jmp dword [eax*4 + 0x4b2494]
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 4
jne case.default.0x4af719
jmp case.0x4b18f6.12
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 4
jmp 0x4b19f4
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 1
jne case.default.0x4af719
jmp case.0x4b18f6.12
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 1
jmp 0x4b19f4
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 0x10
jne case.default.0x4af719
jmp case.0x4b18f6.12
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 0x10
je case.default.0x4af719
mov eax, dword [esp + 0x154]
mov ecx, edi
inc eax
inc ebx
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, ebp
push dword [esp + 0x154]
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b1850
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [edx + 0x88]
test eax, eax
je case.default.0x4af719
cmp edi, dword [edx + 0x84]
jbe case.default.0x4af719
mov dword [edx + 0x60], 1
cmp eax, 1
jle case.default.0x4af719
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
test edi, edi
jne 0x4b1af8
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
mov dword [edx + 0x90], ebx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [edx + 0xac], ebp
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
cmp byte [eax], 0x71
je 0x4b0f36
jmp 0x4b1ac7
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x14c]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
cmp edi, 0xfffffc1c
jne 0x4b1b56
mov al, byte [ebp]
cmp al, 0x7b
je 0x4b1b44
cmp al, 0x71
jne 0x4b1b35
nop dword [eax + eax]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4b1b20
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
sub ebp, ecx
mov eax, dword [esp + 0x14c]
xor ecx, ecx
cmp dword [eax + 0xb4], ebp
cmove edi, ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
inc eax
mov dword [edx + 0xac], 0
push eax
push dword [esp + 0x154]
lea edi, [ecx + 2]
mov dword [edx + 0xb0], edi
movzx eax, byte [ecx]
push edx
movzx edx, byte [ecx + 1]
push dword [esp + 0x154]
movzx eax, byte [eax + 0x4bb020]
add eax, ecx
mov ecx, esi
push ebx
add edx, eax
call fcn.004adf80
mov edx, eax
add esp, 0x14
cmp edx, 1
je 0x4b1bbe
cmp edx, 0xfffffc19
jne 0x4b1be1
mov ebx, dword [esp + 0x14c]
cmp dword [ebx + 0xac], 0
jne 0x4b1be8
mov dword [ebx + 0xac], edi
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ebx, dword [esp + 0x14c]
cmp edx, 0xfffffc1f
jne 0x4aef29
mov eax, dword [ebx + 0x7c]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x4b1c17
test cl, cl
je 0x4b1c13
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x4b1c17
add edi, 2
add eax, 2
test cl, cl
jne 0x4b1bf7
xor eax, eax
jmp 0x4b1c1c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4aef29
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
movzx edx, byte [ebp + 0x4bb020]
add edx, dword [esp + 0x20]
push edi
push ebx
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b1c83
cmp eax, 0xfffffc1d
je 0x4b1c83
cmp eax, 0xfffffc1e
je 0x4b1c83
cmp eax, 0xfffffc1f
je 0x4b1c83
cmp eax, 0xfffffc20
jne 0x4b1028
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
movzx edx, byte [ebp + 0x4bb020]
add edx, dword [esp + 0x20]
push edi
push ebx
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b1d56
cmp eax, 0xfffffc20
je 0x4b1d56
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
inc eax
mov dword [edx + 0xac], 0
push eax
push dword [esp + 0x154]
lea edi, [ecx + 2]
mov dword [edx + 0xb0], edi
movzx eax, byte [ecx]
push edx
movzx edx, byte [ecx + 1]
push dword [esp + 0x154]
movzx eax, byte [eax + 0x4bb020]
add eax, ecx
mov ecx, esi
push ebx
add edx, eax
call fcn.004adf80
add esp, 0x14
cmp eax, 1
je 0x4b1d31
cmp eax, 0xfffffc19
jne 0x4b1d47
mov ecx, dword [esp + 0x14c]
cmp dword [ecx + 0xac], 0
jne 0x4b1d47
mov dword [ecx + 0xac], edi
test eax, eax
je 0x4b1d56
cmp eax, 0xfffffc20
jne 0x4b1028
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
movzx edx, byte [ebp + 0x4bb020]
add edx, dword [esp + 0x20]
push edi
push ebx
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b1da4
cmp eax, 0xfffffc1d
je 0x4b1da4
cmp eax, 0xfffffc20
jne 0x4b1028
mov eax, dword [esp + 0x14c]
mov dword [eax + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
movzx edx, byte [ebp + 0x4bb020]
add edx, dword [esp + 0x20]
push edi
push ebx
call fcn.004adf80
add esp, 0x14
test eax, eax
je 0x4b1e6f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
inc eax
mov dword [edx + 0xac], 0
push eax
push dword [esp + 0x154]
lea edi, [ecx + 2]
mov dword [edx + 0xb0], edi
movzx eax, byte [ecx]
push edx
movzx edx, byte [ecx + 1]
push dword [esp + 0x154]
movzx eax, byte [eax + 0x4bb020]
add eax, ecx
mov ecx, esi
push ebx
add edx, eax
call fcn.004adf80
add esp, 0x14
cmp eax, 1
je 0x4b1e51
cmp eax, 0xfffffc19
jne 0x4b1e67
mov ecx, dword [esp + 0x14c]
cmp dword [ecx + 0xac], 0
jne 0x4b1e67
mov dword [ecx + 0xac], edi
test eax, eax
jne 0x4b1028
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x7c], ecx
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
cmp esi, ebx
jne 0x4b1ec3
cmp ebp, 0x99
je 0x4b1ec3
cmp dword [edx + 0xa4], 0
jne 0x4b1ec3
cmp dword [edx + 0x58], 0
jne case.default.0x4af719
cmp dword [edx + 0x5c], 0
je 0x4b1ec3
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x74]
cmp ebx, eax
je case.default.0x4af719
test cl, cl
mov dword [edx + 0x80], esi
mov eax, 0xfffffc19
mov dword [edx + 0x8c], edi
mov ecx, 1
mov dword [edx + 0x7c], ebx
cmove eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x130
ret