Function at 0x423a21
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
lea eax, [ebp - 0x10]
mov dword [ebp - 4], ebx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], esi
push 0xd
push dword [ebp + 8]
push eax
mov edi, dword [ebp + 0xc]
push edi
call fcn.0042e7e0
add esp, 0x10
mov esi, eax
test esi, esi
je 0x422c71
mov edx, dword [ebp + 0x10]
movzx eax, dl
test al, 1
je 0x422c60
shr edx, 0x18
movzx edx, dl
test edx, 0x80
je 0x422c50
lea edx, [ebp + 0x17]
and edx, 0xfffffffc
lea eax, [edx + 4]
test byte [eax - 4], 0x10
je 0x422c50
add edx, 7
and edx, 0xfffffffc
mov eax, dword [edx]
add edx, 7
and edx, 0xfffffffc
cmp byte [eax], 0x38
mov ebx, dword [edx]
jne 0x422c50
cmp byte [eax + 2], 0x4e
je 0x422f8a
movzx eax, si
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push str.unknown
push edi
push 2
push esi
call fcn.0041ff60
add esp, 0x10
mov eax, dword [ebp - 0x10]
xor esi, esi
mov dword [eax + 0x84], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xf4], esi
mov eax, dword [ebp - 0x10]
movzx edx, byte [ebp + 0x13]
test edx, 0x80
mov ecx, dword [eax + 0xb8]
mov ebx, dword [eax + 0xbc]
mov dword [eax + 0xb0], ecx
mov dword [eax + 0xb4], ebx
je 0x422d15
lea eax, [ebp + 0x17]
and eax, 0xfffffffc
lea edx, [eax + 4]
mov ecx, dword [edx - 4]
test cl, 0x20
je 0x422cc7
mov edx, dword [ebp - 0x10]
or byte [edx + 0x173], 0x40
test cl, 0x10
je 0x422d15
add eax, 7
and eax, 0xfffffffc
mov ebx, dword [eax]
add eax, 7
and eax, 0xfffffffc
mov edx, dword [eax]
movsx eax, byte [ebx]
cmp eax, 0x38
je 0x423849
cmp eax, 0xb
je 0x423645
cmp eax, 0x38
je 0x423063
cmp eax, 1
je 0x422d15
push 0x18f
push str.for_backspace.c
push 2
push 8
call fcn.0041ff60
add esp, 0x10
push esi
push esi
push dword [ebp - 0x10]
call fcn.004420f0
add esp, 0xc
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ebp + 0x10]
and edx, 1
movzx eax, byte [ecx + 0x16c]
and eax, 0xfffffffe
or eax, edx
mov byte [ecx + 0x16c], al
mov eax, dword [ebp - 0x10]
test byte [eax + 0x16b], 4
je 0x422dc4
test byte [eax + 0x16a], 0x40
jne 0x422dc4
mov edx, dword [eax + 0x18]
test edx, edx
je 0x42387b
test byte [edx + 0x44], 2
je 0x422d9a
mov eax, 0x71
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x422d88
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x71
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, 0x71
push edx
movzx ecx, byte [eax + 0x16c]
push edx
and ecx, 7
push ecx
push 0xffffffffffffffff
push eax
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov dword [eax + 0xc8], esi
mov dword [eax + 0xcc], esi
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0xc8]
mov dword [edx + 0xf0], eax
mov ebx, dword [ebp - 0x10]
movzx edx, byte [ebx + 0x168]
and edx, 4
movzx eax, byte [ebx + 0x169]
and eax, 0x20
shr edx, 2
shr eax, 5
test edx, edx
je 0x422e3a
test eax, eax
je 0x422ed0
movzx eax, byte [ebx + 0x16c]
test al, 0x20
je 0x422e49
cmp dword [ebx + 0x138], 7
je 0x422e49
and eax, 0xffffffdf
mov byte [ebx + 0x16c], al
mov ebx, dword [ebp - 0x10]
movzx edx, byte [ebx + 0x168]
and edx, 4
shr edx, 2
jmp 0x422ed0
test eax, eax
je 0x422ed0
movzx eax, byte [ebx + 0x16c]
test al, 0x20
je 0x422e56
cmp dword [ebx + 0x138], 7
jne 0x422ed0
cmp byte [ebx + 0x155], 1
je 0x4238b9
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x42389a
test byte [edx + 0x44], 2
je 0x422ead
mov dword [edx + 0x38], 0x17
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x18]
mov dword [edx + 0x3c], 0x109
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x64]
test eax, eax
je 0x422e9b
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 0x109
push 0x17
and eax, 7
push eax
push 0xffffffffffffffff
push ebx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebx + 0x16b]
test edx, edx
je 0x422edf
test al, 8
jne 0x422eed
test al, 4
jne 0x422eed
or byte [ebx + 0x16d], 8
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x422efb
mov byte [eax + 0x1f], 0
mov ebx, dword [ebp - 0x10]
push edi
and byte [ebx + 0x16c], 0xdc
and byte [ebx + 0x16e], 0xf7
call fcn.0042f3c0
add esp, 4
test eax, eax
je 0x422f7b
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x425bb1
test byte [edx + 0x44], 2
je 0x422f56
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x422f49
mov dword [edx + 4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x50]
push eax
push edi
call fcn.0042e690
add esp, 8
test eax, eax
jne 0x422c50
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov dword [ecx + 0x84], edx
mov edi, dword [ebp - 0x50]
movzx ecx, byte [ebp + 0x10]
and ecx, 1
mov dword [edi + 0xf4], edx
mov edi, dword [ebp - 0x50]
movzx eax, byte [edi + 0x16c]
and eax, 0xfffffffe
or eax, ecx
mov byte [edi + 0x16c], al
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebx]
mov dword [ecx + 0xf4], eax
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebx + 4]
mov dword [eax + 0x84], ebx
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x423049
test byte [eax + 0x44], 2
je 0x423024
mov dword [eax + 0x38], esi
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], esi
mov ebx, dword [ebp - 0x50]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x423015
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x64], edx
mov eax, esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push esi
movzx eax, byte [ecx + 0x16c]
push esi
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push esi
push esi
push 0
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [ebx + 2]
cmp eax, 6
je 0x42353c
cmp eax, 0x52
je 0x423460
cmp eax, 0x3b
je 0x42335c
cmp eax, 0x3c
je 0x42323c
cmp eax, 0x51
je 0x423160
cmp eax, 0x53
jne 0x422cff
push 3
lea eax, [ebp - 0x1c]
push eax
push 0x53
push dword [edx]
push dword [edx + 4]
call fcn.004155f0
add esp, 0x14
test eax, eax
jne 0x4230e5
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0x163]
mov byte [ecx + 0x164], dl
mov eax, dword [ebp - 0x10]
or byte [eax + 0x173], 0x20
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov byte [edx + 0x163], al
movsx eax, byte [ebx + 4]
jmp 0x422cfa
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x423146
test byte [edx + 0x44], 2
je 0x423121
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x423114
mov dword [edx + 4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 3
lea eax, [ebp - 0x1c]
push eax
push 0x51
push dword [edx]
push dword [edx + 4]
mov dword [ebp - 0x50], edx
call fcn.004155f0
mov edx, dword [ebp - 0x50]
add esp, 0x14
test eax, eax
jne 0x4231b8
mov ecx, dword [ebp - 0x10]
add ebx, 4
add edx, 8
movzx eax, byte [ecx + 0x15f]
mov byte [ecx + 0x160], al
mov eax, dword [ebp - 0x10]
or byte [eax + 0x173], 0x10
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov byte [ecx + 0x15f], al
movsx eax, byte [ebx]
cmp eax, 0x38
je 0x423219
jmp 0x422cfa
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x423222
test byte [edx + 0x44], 2
je 0x4231f4
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x4231e7
mov dword [edx + 4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [ebx + 2]
jmp 0x423094
push ecx
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 3
lea eax, [ebp - 0x1c]
push eax
push 0x3c
push dword [edx]
push dword [edx + 4]
mov dword [ebp - 0x50], edx
call fcn.004155f0
mov edx, dword [ebp - 0x50]
add esp, 0x14
test eax, eax
jne 0x4232d8
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x10]
movzx ecx, byte [ebx + 0x16e]
mov eax, ecx
shr ecx, 1
and eax, 0xfffffffb
and ecx, 1
shl ecx, 2
or eax, ecx
mov byte [ebx + 0x16e], al
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x4c]
or byte [eax + 0x173], 8
mov eax, dword [ebp - 0x1c]
cmp eax, 2
jne 0x4232bb
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x10]
movzx ecx, byte [ebp + 0x12]
shr ecx, 2
and ecx, 1
movzx eax, byte [ebx + 0x16e]
add ecx, ecx
and eax, 0xfffffffd
or eax, ecx
mov byte [ebx + 0x16e], al
mov ebx, dword [ebp - 0x4c]
jmp 0x4232c5
mov eax, dword [ebp - 0x10]
and byte [eax + 0x16e], 0xfd
add ebx, 4
add edx, 8
movsx eax, byte [ebx]
cmp eax, 0x38
je 0x423339
jmp 0x422cfa
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x423342
test byte [edx + 0x44], 2
je 0x423314
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x423307
mov dword [edx + 4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [ebx + 2]
jmp 0x42308b
push ecx
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 3
lea eax, [ebp - 0x1c]
push eax
push 0x3b
push dword [edx]
push dword [edx + 4]
mov dword [ebp - 0x50], edx
call fcn.004155f0
mov edx, dword [ebp - 0x50]
add esp, 0x14
test eax, eax
jne 0x4233dc
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx + 0x159]
mov byte [ecx + 0x15a], al
mov eax, dword [ebp - 0x10]
or byte [eax + 0x173], 4
mov eax, dword [ebp - 0x1c]
cmp eax, 2
je 0x4233bf
cmp eax, 1
jne 0x4233ae
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x159], 0x27
jmp 0x4233c9
cmp eax, 3
jne 0x4233bf
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x159], 0x22
jmp 0x4233c9
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x159], 0
add ebx, 4
add edx, 8
movsx eax, byte [ebx]
cmp eax, 0x38
je 0x42343d
jmp 0x422cfa
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x423446
test byte [edx + 0x44], 2
je 0x423418
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x42340b
mov dword [edx + 4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [ebx + 2]
jmp 0x423082
push ecx
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 3
lea eax, [ebp - 0x1c]
push eax
push 0x52
push dword [edx]
push dword [edx + 4]
mov dword [ebp - 0x50], edx
call fcn.004155f0
mov edx, dword [ebp - 0x50]
add esp, 0x14
test eax, eax
jne 0x4234b8
mov ecx, dword [ebp - 0x10]
add ebx, 4
add edx, 8
movzx eax, byte [ecx + 0x161]
mov byte [ecx + 0x162], al
mov eax, dword [ebp - 0x10]
or byte [eax + 0x173], 2
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov byte [ecx + 0x161], al
movsx eax, byte [ebx]
cmp eax, 0x38
je 0x423519
jmp 0x422cfa
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x423522
test byte [edx + 0x44], 2
je 0x4234f4
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x4234e7
mov dword [edx + 4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [ebx + 2]
jmp 0x423079
push ecx
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 3
lea eax, [ebp - 0x1c]
push eax
push 6
push dword [edx]
push dword [edx + 4]
mov dword [ebp - 0x50], edx
call fcn.004155f0
mov edx, dword [ebp - 0x50]
add esp, 0x14
test eax, eax
jne 0x4235c1
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x10]
movzx ecx, byte [ebx + 0x16b]
mov eax, ecx
shr ecx, 5
and eax, 0xffffffbf
and ecx, 1
shl ecx, 6
or eax, ecx
mov byte [ebx + 0x16b], al
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x4c]
or byte [eax + 0x173], 1
mov eax, dword [ebp - 0x1c]
cmp eax, 1
je 0x4235a4
cmp eax, 2
jne 0x4235a4
mov eax, dword [ebp - 0x10]
or byte [eax + 0x16b], 0x20
jmp 0x4235ae
mov eax, dword [ebp - 0x10]
and byte [eax + 0x16b], 0xdf
add ebx, 4
add edx, 8
movsx eax, byte [ebx]
cmp eax, 0x38
je 0x423622
jmp 0x422cfa
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x42362b
test byte [edx + 0x44], 2
je 0x4235fd
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x4235f0
mov dword [edx + 4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [ebx + 2]
jmp 0x423070
push ecx
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 2], 0x4f
jne 0x422cff
mov eax, dword [ebp - 0x10]
test byte [eax + 0x16b], 4
jne 0x42374a
test byte [eax + 0x169], 0x20
jne 0x4236d9
mov edx, dword [eax + 0x18]
test edx, edx
je 0x423782
test byte [edx + 0x44], 2
je 0x4236af
mov eax, 0x6d
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x42369d
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x6d
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, 0x6d
push edx
movzx ecx, byte [eax + 0x16c]
push edx
and ecx, 7
push ecx
push 0xffffffffffffffff
push eax
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x18]
test edx, edx
je 0x4237a1
test byte [edx + 0x44], 2
je 0x423723
mov dword [edx + 0x38], 0x6e
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x18]
mov dword [edx + 0x3c], 0x1f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x64]
test eax, eax
je 0x423711
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x6e
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 0x1f
movzx edx, byte [eax + 0x16c]
push 0x6e
and edx, 7
push edx
push 0xffffffffffffffff
push eax
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ecx, dword [edx]
add ecx, 0xffffffff
mov dword [ebp - 0x4c], ebx
mov ebx, dword [edx + 4]
adc ebx, 0xffffffff
add edx, 8
mov dword [eax + 0xb0], ecx
mov dword [eax + 0xb4], ebx
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x4c]
mov ecx, dword [eax + 0xb4]
sub ecx, esi
jl 0x4237bd
add ebx, 4
movsx eax, byte [ebx]
jmp 0x422cf1
push eax
mov edx, 0x6d
push edx
push edx
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
push 0x1f
push 0x6e
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x18]
test edx, edx
je 0x42382a
test byte [edx + 0x44], 2
je 0x423800
mov eax, 0x6f
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x4237ee
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x6f
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, 0x6f
push edx
movzx ecx, byte [eax + 0x16c]
push edx
and ecx, 7
push ecx
push 0xffffffffffffffff
push eax
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
mov edx, 0x6f
push edx
push edx
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [ebx + 2]
cmp eax, 0x4e
jne 0x423067
mov ecx, dword [ebp - 0x10]
add ebx, 4
mov eax, dword [edx]
mov dword [ecx + 0xf4], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 4]
add edx, 8
mov dword [ecx + 0x84], eax
movsx eax, byte [ebx]
jmp 0x422ce8
push eax
mov edx, 0x71
push edx
push edx
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ebx
push 0x109
push 0x17
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
test byte [ebx + 0x16b], 8
je 0x4238ca
test edx, edx
je 0x422e63
test al, 8
jne 0x42393b
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x424571
test byte [edx + 0x44], 2
je 0x423918
mov dword [edx + 0x38], 0x17
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x18]
mov dword [edx + 0x3c], 0x108
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x64]
test eax, eax
je 0x423906
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 0x108
push 0x17
and eax, 7
push eax
push 0xffffffffffffffff
push ebx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
test byte [ebx + 0x171], 0x10
je 0x4239d4
push ebx
call fcn.0044b110
add esp, 4
test eax, eax
je 0x4239ba
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x424590
test byte [edx + 0x44], 2
je 0x423995
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x423988
mov dword [edx + 4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
push esi
push esi
and byte [eax + 0x171], 0xef
push dword [ebp - 0x10]
call fcn.004420f0
add esp, 0xc
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x98]
mov ecx, 2
mov dword [ebp - 0x14], eax
sub eax, ecx
mov edx, dword [ebx + 0x9c]
mov dword [ebp - 0x18], edx
sbb edx, esi
jl 0x4243fa
or eax, edx
je 0x4243fa
movsx edx, byte [ebx + 0x154]
add dword [ebp - 0x14], 0xffffffff
adc dword [ebp - 0x18], 0xffffffff
lea eax, [edx - 1]
cmp eax, 7
ja case.default.0x423a1f
mov eax, dword [eax*4 + 0x4dd5b4]
jmp eax
cmp edx, 8
je 0x423a2b
cmp edx, 6
jne 0x423a34
mov dword [ebp - 0x40], 0xa
jmp 0x423a3b
mov dword [ebp - 0x40], 0xd
mov ecx, dword [ebx + 0x50]
test ecx, ecx
je 0x4245aa
mov edx, dword [ebx + 0x38]
lea eax, [ecx - 1]
cmp edx, eax
jae 0x4245aa
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x2c], edi
mov edi, edx
mov edx, dword [ebp - 0x40]
cmp dl, byte [edi]
jne 0x423a65
mov esi, edi
inc edi
cmp edi, eax
jb 0x423a5f
mov dword [ebp - 0x50], esi
xor esi, esi
mov edi, dword [ebp - 0x2c]
cmp dword [ebp - 0x50], 0
je 0x4245aa
mov edx, dword [ebp - 0x50]
sub ecx, edx
mov esi, dword [ebx + 0x90]
inc edx
lea ecx, [ecx + esi - 1]
mov dword [ebx + 0x90], ecx
mov ebx, dword [ebp - 0x10]
mov dword [ebx + 0x50], edx
mov ecx, dword [ebp - 0x10]
mov esi, dword [ecx + 0xc0]
mov eax, dword [ecx + 0x50]
sub esi, dword [ecx + 0xd0]
mov ebx, dword [ecx + 0xc4]
sbb ebx, dword [ecx + 0xd4]
sub eax, dword [ecx + 0x38]
cdq
add esi, eax
mov dword [ecx + 0xb8], esi
adc ebx, edx
xor esi, esi
mov dword [ecx + 0xbc], ebx
mov ebx, dword [ebp - 0x10]
jmp 0x4243c9
mov edx, dword [ebx + 0x138]
cmp edx, 7
jne 0x423dae
test byte [ebx + 0x16d], 2
je 0x423b1f
mov ecx, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
sub edx, ecx
mov eax, dword [ebx + 0x44]
dec edx
mov dword [ebp - 0x44], edx
cdq
mov dword [ebp - 0x40], eax
mov eax, ecx
mov dword [ebp - 0x50], ebx
mov ebx, edx
cdq
mov eax, dword [ebp - 0x40]
sub eax, ecx
mov dword [ebp - 0x3c], ecx
sbb ebx, edx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x50]
jmp 0x423ce2
push 0
push ebx
call fcn.00443b10
add esp, 8
test eax, eax
je 0x423b96
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x424add
test byte [eax + 0x44], 2
je 0x423b6c
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [ebx + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x423b5a
mov dword [eax + 4], esi
mov dword [ebx + 0x64], esi
mov eax, 0x26
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x26
push eax
movzx edx, byte [ebx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ebx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [ebx + 0x154]
dec eax
cmp eax, 7
ja case.default.0x423bae
mov eax, dword [eax*4 + 0x4dd5d4]
jmp eax
mov eax, dword [ebx + 0x40]
test eax, eax
jne 0x423bba
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0xf8]
mov dword [ebx + 0x3c], eax
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x48], esi
lea eax, [eax + edx - 1]
mov dword [ebx + 0x44], eax
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x4c], esi
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
jmp 0x423ce2
mov edx, dword [ebx + 0x40]
mov eax, 1
mov word [ebp - 0x50], ax
test edx, edx
je 0x424afc
mov byte [edx + 2], al
mov eax, dword [ebx + 0x40]
mov byte [eax + 3], 0
mov eax, dword [ebx + 0x40]
add eax, 4
mov dword [ebx + 0x3c], eax
add eax, dword [ebx + 0xf8]
mov dword [ebx + 0x44], eax
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x48], esi
mov eax, dword [ebx + 0x44]
mov edx, dword [ebx + 0x38]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x4c], esi
jmp 0x423ce2
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x423c48
add eax, 4
jmp 0x423c4e
mov eax, dword [ebx + 0x38]
add eax, 4
mov edx, dword [ebx + 0xf8]
mov dword [ebx + 0x3c], eax
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x48], esi
lea eax, [eax + edx - 8]
mov dword [ebx + 0x44], eax
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x4c], esi
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
jmp 0x423ce2
mov eax, dword [ebx + 0x40]
test eax, eax
jne 0x423c86
mov eax, dword [ebx + 0x38]
mov dword [ebx + 0x3c], eax
add eax, dword [ebx + 0xf8]
mov dword [ebx + 0x44], eax
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x48], esi
mov eax, dword [ebx + 0x44]
mov edx, dword [ebx + 0x38]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x4c], esi
jmp 0x423ce2
push 0x4a7
push str.for_backspace.c
push 2
push 8
call fcn.0041ff60
add esp, 0x10
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x48], esi
mov eax, dword [ebx + 0x44]
mov edx, dword [ebx + 0x38]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x4c], esi
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x3c]
mov eax, dword [ebx + 0xe4]
dec edx
mov dword [ebp - 0x40], edx
call fcn.00425c30
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ebx, eax
mov edx, ebx
sub edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x30]
mov ecx, eax
sbb ecx, dword [ebp - 0x4c]
mov edx, 1
sub ebx, edx
mov dword [ebp - 0x38], ecx
or ebx, eax
je 0x4243c6
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x10]
or eax, dword [ebp - 0x30]
je 0x4243c9
mov eax, 1
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x44]
mov eax, edi
cdq
mov eax, dword [ebp - 0x40]
mov ecx, edx
cdq
sub edi, eax
sbb ecx, edx
mov eax, 1
add edi, dword [ebp - 0x34]
adc ecx, dword [ebp - 0x30]
sub edi, eax
or edi, ecx
je 0x424ef7
cmp dword [ebp - 0x44], 0
jl 0x424b4f
mov eax, dword [ebx + 0x38]
add eax, dword [ebp - 0x44]
movzx edx, byte [eax]
cmp edx, 0x82
je 0x424b26
cmp dword [ebp - 0x48], 0
jne 0x423d91
cmp edx, 0x81
jne 0x424b17
cmp edx, 0x80
mov eax, dword [ebp - 0x44]
jl 0x423da1
mov edx, 0x80
sub eax, edx
add eax, 0xfffffffe
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], esi
jmp 0x423d3b
movzx eax, byte [ebx + 0x16b]
and eax, 0x80
shr eax, 7
mov dword [ebp - 0x50], eax
test eax, eax
je 0x423e3a
cmp edx, 5
je 0x423e3a
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x425294
test byte [eax + 0x44], 2
je 0x423e10
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x423dfe
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ebx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ebx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
test byte [ebx + 0x16d], 2
je 0x423e4e
mov eax, dword [ebx + 0x3c]
sub eax, dword [ebx + 0x38]
mov dword [ebp - 0x44], eax
jmp 0x423e51
mov dword [ebp - 0x44], esi
cmp edx, 5
jne 0x423e5f
mov dword [ebp - 0x40], 1
jmp 0x423ed1
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [ebx + 0xf8]
idiv ecx
test edx, edx
mov dword [ebp - 0x40], edx
jne 0x423ed1
cmp dword [ebp - 0x50], 0
jne 0x423e7f
mov eax, ecx
mov dword [ebp - 0x40], eax
jmp 0x423ed1
mov eax, dword [ebx + 0xe4]
call fcn.00425c30
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov ebx, dword [ebp - 0x10]
test byte [ebx + 0x16d], 2
je 0x423ea7
mov eax, dword [ebx + 0x44]
sub eax, dword [ebx + 0x3c]
mov dword [ebp - 0x50], eax
jmp 0x423eaa
mov dword [ebp - 0x50], esi
mov eax, dword [ebx + 0xf8]
mov ecx, dword [ebp - 0x4c]
cdq
sub ecx, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
sbb eax, edx
mov dword [ebp - 0x48], eax
jl 0x423ec8
or ecx, dword [ebp - 0x48]
jne 0x423ed1
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x44]
jg 0x423ee4
sub dword [ebx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
jmp 0x4243c9
neg eax
push eax
push ebx
call fcn.00443b10
add esp, 8
test eax, eax
je 0x4243c6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4252b3
test byte [eax + 0x44], 2
je 0x423f42
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x423f30
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 0
push ebx
call fcn.00443b10
add esp, 8
test eax, eax
je 0x423fef
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4252d2
test byte [eax + 0x44], 2
je 0x423fc5
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x423fb3
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xe4]
call fcn.00425c30
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dword [esp + 4], esi
mov dword [esp + 8], esi
mov eax, dword [ecx + 0xe4]
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x4254dc
mov ebx, dword [ebp - 0x10]
lea eax, [ebp - 0x4c]
push 0
push eax
mov edx, dword [ebx + 0xec]
mov ecx, dword [ebx + 0x38]
push edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
push ecx
push dword [ebx + 0xe4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42543e
mov edx, esi
mov ecx, dword [ebp - 0x20]
mov ebx, ecx
mov eax, edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], edi
jmp 0x424073
mov dword [ebp - 0x48], edi
mov edx, eax
mov eax, esi
mov ecx, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x44]
movzx edx, byte [eax + 1]
shl edx, 8
movzx ecx, byte [eax]
or ecx, edx
movsx edi, cx
lea ecx, [edi + 2]
add edi, 3
mov edx, ecx
and edx, 0x80000001
jge 0x4240a9
sub edx, 1
or edx, 0xfffffffe
inc edx
test edx, edx
movzx edx, byte [eax + 3]
jne 0x4240b3
mov edi, ecx
shl edx, 8
movzx ecx, byte [eax + 2]
or ecx, edx
movsx ecx, cx
cmp ecx, 0x20
jae 0x4240de
mov edx, 1
shl edx, cl
test edx, 0x400000c
mov ebx, dword [ebp - 0x30]
je 0x4240db
mov ebx, 1
mov dword [ebp - 0x30], ebx
mov edx, eax
sub edx, dword [ebp - 0x20]
lea ecx, [edx + edi + 4]
cmp ecx, dword [ebp - 0x24]
jle 0x42415f
mov esi, eax
mov ebx, dword [ebp - 0x24]
sub esi, ebx
sub esi, dword [ebp - 0x20]
add esi, edi
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x38]
jns 0x42412f
mov ebx, dword [ebp - 0x34]
add eax, edi
neg ebx
mov edx, dword [ebp - 0x20]
cmp edx, eax
lea esi, [edx + ebx]
ja 0x4252f1
cmp esi, eax
jbe 0x4252f1
push ebx
push eax
push dword [ebp - 0x20]
call fcn.004713f0
add esp, 0xc
neg ebx
add ebx, dword [ebp - 0x24]
push 0
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
push ebx
push esi
push dword [edx + 0xe4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x425300
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
test edx, edx
lea eax, [ecx + edx]
jg 0x424161
mov eax, ecx
jmp 0x424161
add eax, edi
add dword [ebp - 0x28], edi
cmp dword [ebp - 0x30], 0
je 0x424083
mov dword [ebp - 0x44], eax
xor ecx, ecx
mov eax, dword [ebp - 0x28]
xor esi, esi
mov edx, dword [ebp - 0x40]
add eax, edx
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x50]
adc edi, 0
sub ebx, eax
sbb ecx, edi
jl 0x424194
or ebx, ecx
jne 0x42406e
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
mov dword [esp + 4], edx
xor edx, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xe4]
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
jne 0x4243c6
jmp 0x4253a0
mov dword [ebp - 0x2c], edi
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x425626
cmp eax, dword [ebx + 0x38]
je 0x425626
movzx edx, byte [eax - 4]
movzx ecx, byte [eax - 3]
movzx edi, byte [eax - 2]
movzx eax, byte [eax - 1]
test byte [ebx + 0x16d], 0x20
je 0x42420f
shl edi, 8
shl ecx, 0x10
or eax, edi
shl edx, 0x18
or eax, ecx
or eax, edx
jl 0x425618
jmp 0x424224
shl ecx, 8
shl edi, 0x10
or edx, ecx
shl eax, 0x18
or edx, edi
or eax, edx
jl 0x425618
and byte [ebx + 0x172], 0xbf
mov edx, dword [ebp - 0x10]
lea ebx, [eax + 8]
mov ecx, dword [edx + 0x38]
neg ecx
mov edi, dword [edx + 0x50]
add ecx, edi
cmp ecx, ebx
jb 0x42425c
sub edi, eax
add edi, 0xfffffff8
mov dword [edx + 0x50], edi
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x90]
lea eax, [eax + edx + 8]
mov dword [ecx + 0x90], eax
jmp 0x4242c0
mov ecx, dword [edx + 0x90]
mov edi, esi
lea ebx, [eax + ecx + 8]
mov eax, esi
sub edi, ebx
mov dword [esp + 4], edi
sbb eax, 0
mov dword [esp + 8], eax
mov eax, dword [edx + 0xe4]
mov edx, 1
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x42557a
mov eax, dword [ebp - 0x10]
and byte [eax + 0x16d], 0xfd
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x50], esi
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ecx + 0x38]
mov dword [ecx + 0x44], ebx
mov edi, dword [ebp - 0x10]
mov dword [edi + 0x3c], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x90], esi
mov ebx, dword [ebp - 0x10]
test byte [ebx + 0x172], 0x40
jne 0x4241cb
mov edi, dword [ebp - 0x2c]
jmp 0x4243c9
mov eax, dword [ebx + 0x38]
neg eax
mov ecx, dword [ebx + 0x3c]
add eax, ecx
cdq
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebx + 0xf8]
mov dword [ebp - 0x48], eax
idiv ecx
test edx, edx
je 0x4242f7
mov ecx, edx
mov dword [ebp - 0x50], ecx
cmp ecx, dword [ebp - 0x48]
jg 0x424338
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x50]
mov dword [ebx + 0x3c], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x50]
test edx, edx
mov eax, dword [ecx + 0x90]
je 0x4258dc
add edx, eax
sub edx, dword [ecx + 0x3c]
mov dword [ecx + 0x90], edx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x3c]
mov dword [edx + 0x50], eax
mov ebx, dword [ebp - 0x10]
jmp 0x4243c9
mov eax, ecx
neg eax
push eax
push ebx
call fcn.00443b10
add esp, 8
test eax, eax
je 0x4243c6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xe4]
call fcn.00425c30
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dword [esp + 4], esi
mov dword [esp + 8], esi
mov eax, dword [ecx + 0xe4]
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x425a3c
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
push 0
sub edx, dword [ecx + 0x90]
push eax
push edx
push dword [ecx + 0x38]
push dword [ecx + 0xe4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42599e
jmp 0x4243c6
push 0x657
push str.for_backspace.c
push 2
push 8
call fcn.0041ff60
add esp, 0x10
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov dword [ebx + 0x98], eax
mov dword [ebx + 0x9c], edx
mov ecx, dword [ebp - 0x10]
and byte [ecx + 0x16f], 0xfb
mov ebx, dword [ebp - 0x10]
movzx edx, byte [ebx + 0x168]
and edx, 4
shr edx, 2
jmp 0x422ed0
mov eax, dword [ebp - 0x18]
sub eax, esi
jl 0x425b97
cmp dword [ebx + 0x138], 7
jne 0x42441e
movsx edx, byte [ebx + 0x154]
cmp edx, 5
je 0x423a04
mov eax, 1
sub dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x18]
sbb edx, esi
mov dword [ebp - 0x18], edx
jl 0x424438
mov eax, dword [ebp - 0x14]
or eax, dword [ebp - 0x18]
jne 0x42444a
movzx edx, byte [ebx + 0x168]
and edx, 4
shr edx, 2
jmp 0x422ed0
push 0
push ebx
call fcn.00443b10
add esp, 8
test eax, eax
je 0x4244cd
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x425ada
test byte [eax + 0x44], 2
je 0x4244a3
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x424491
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dword [esp + 4], esi
mov dword [esp + 8], esi
mov eax, dword [ecx + 0xe4]
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x425af9
mov eax, dword [ebp - 0x10]
add dword [eax + 0x98], 0xffffffff
adc dword [eax + 0x9c], 0xffffffff
mov edx, dword [ebp - 0x10]
and byte [edx + 0x16f], 0xfb
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0xd0], esi
mov dword [ecx + 0xd4], esi
mov ebx, dword [ebp - 0x10]
mov dword [ebx + 0xb8], esi
mov dword [ebx + 0xbc], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xc0], esi
mov dword [eax + 0xc4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xc8], esi
mov dword [edx + 0xcc], esi
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebx + 0xc8]
mov dword [ebx + 0xf0], ecx
mov ebx, dword [ebp - 0x10]
movzx edx, byte [ebx + 0x168]
and edx, 4
shr edx, 2
jmp 0x422ed0
push ebx
push 0x108
push 0x17
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0xe4]
call fcn.00425c30
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x50], edx
mov eax, dword [edx + 0x90]
sub dword [ebp - 0x44], eax
cmp byte [edx + 0x156], 2
je 0x424ab8
mov dword [ebp - 0x4c], esi
mov edx, dword [ebp - 0x50]
mov edx, dword [edx + 0xec]
cmp edx, dword [ebp - 0x44]
jb 0x424609
mov ecx, dword [ebp - 0x44]
xor edx, edx
sub ecx, dword [ebp - 0x4c]
dec ecx
mov dword [ebp - 0x44], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], esi
mov ebx, dword [ebp - 0x50]
mov eax, dword [ebx + 0xe4]
call fcn.00425bd0
jmp 0x42463c
mov ebx, dword [ebp - 0x4c]
sub edx, ebx
add eax, ebx
lea ecx, [edx - 1]
mov dword [ebp - 0x44], ecx
mov ecx, esi
add eax, edx
mov edx, esi
sub edx, eax
mov dword [esp + 4], edx
sbb ecx, 0
mov edx, 1
mov dword [esp + 8], ecx
mov ebx, dword [ebp - 0x50]
mov eax, dword [ebx + 0xe4]
call fcn.00425bd0
mov dword [ebp - 0x50], eax
mov eax, 0xffffffff
mov ecx, edx
mov ebx, dword [ebp - 0x50]
sub ecx, eax
sub ebx, eax
or ebx, ecx
je 0x424a1a
mov ecx, dword [ebp - 0x10]
lea ebx, [ebp - 0x48]
mov eax, dword [ebp - 0x50]
push esi
mov dword [ecx + 0xc0], eax
mov dword [ecx + 0xc4], edx
mov edx, dword [ebp - 0x10]
push ebx
mov dword [edx + 0xd0], esi
mov dword [edx + 0xd4], esi
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x44]
push dword [eax + 0x38]
push dword [eax + 0xe4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42497c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
cdq
mov ebx, dword [ecx + 0xc0]
add ebx, eax
mov dword [ecx + 0xc8], ebx
adc edx, dword [ecx + 0xc4]
mov dword [ecx + 0xcc], edx
test eax, eax
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebx + 0xc8]
mov dword [ebx + 0xf0], ecx
mov edx, dword [ebp - 0x10]
jne 0x424753
test byte [edx + 0x168], 4
je 0x4246e2
cmp dword [ebp - 0x44], 0
je 0x424753
mov eax, dword [edx + 0x18]
test eax, eax
je 0x424805
test byte [eax + 0x44], 2
je 0x424729
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x424717
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx ecx, byte [edx + 0x16c]
push eax
and ecx, 7
push ecx
push 0xffffffffffffffff
push edx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x50], eax
js 0x424773
mov ecx, dword [edx + 0x38]
mov ebx, eax
mov eax, dword [ebp - 0x40]
cmp al, byte [ebx + ecx]
je 0x42491c
dec ebx
jns 0x424764
mov dword [ebp - 0x50], ebx
mov eax, dword [edx + 0xe4]
call fcn.00425c30
mov ecx, dword [ebp - 0x10]
test byte [ecx + 0x168], 4
je 0x424794
cmp dword [ebp - 0x50], 0xffffffff
je 0x424824
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4248fd
test byte [eax + 0x44], 2
je 0x4247db
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x4247c9
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push edx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
cmp eax, dword [ecx + 0xec]
ja 0x424794
mov eax, dword [ebp - 0x44]
neg eax
cdq
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov edx, 1
mov eax, dword [ecx + 0xe4]
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
jne 0x4243c6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4248de
test byte [eax + 0x44], 2
je 0x4248b4
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x4248a2
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x50], ebx
mov ecx, ebx
mov esi, dword [ebp - 0x4c]
neg ecx
mov eax, dword [ebp - 0x44]
sub eax, esi
lea ecx, [ecx + eax - 1]
mov dword [edx + 0x90], ecx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x38]
lea esi, [esi + edx + 1]
add ebx, esi
mov dword [ecx + 0x50], ebx
mov ebx, dword [ebp - 0x10]
or byte [ebx + 0x16d], 2
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x50]
sub eax, dword [ecx + 0x38]
mov esi, dword [ecx + 0xc0]
cdq
add esi, eax
mov dword [ecx + 0xb8], esi
adc edx, dword [ecx + 0xc4]
xor esi, esi
mov dword [ecx + 0xbc], edx
mov ebx, dword [ebp - 0x10]
jmp 0x4243c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4249fb
test byte [eax + 0x44], 2
je 0x4249d1
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x4249bf
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x424a99
test byte [eax + 0x44], 2
je 0x424a6f
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x424a5d
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx edx, byte [edx + 0x154]
cmp edx, 6
je 0x4245d4
cmp edx, 8
je 0x4245d4
mov dword [ebp - 0x4c], 1
jmp 0x4245d7
push ebx
mov eax, 0x26
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx + 0x38]
mov byte [edx + 2], al
mov ecx, dword [ebx + 0x38]
movzx eax, byte [ebp - 0x4f]
mov byte [ecx + 3], al
mov eax, dword [ebx + 0x38]
add eax, 4
jmp 0x423c0f
mov edi, dword [ebp - 0x2c]
inc eax
mov dword [ebx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
jmp 0x4243c9
dec dword [ebp - 0x44]
movzx eax, byte [ebx + 0x16c]
test al, 0x20
je 0x423d3b
and eax, 0xffffffdf
mov byte [ebx + 0x16c], al
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x38]
add eax, dword [ebp - 0x44]
jmp 0x424b1a
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebx + 0xec]
sub ecx, dword [ebx + 0xec]
cdq
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
sbb edi, edx
mov dword [ebp - 0x30], edi
jl 0x424b73
mov eax, ecx
or eax, dword [ebp - 0x30]
jne 0x424ba1
xor edx, edx
mov dword [esp + 4], esi
mov eax, dword [ebx + 0xe4]
mov dword [esp + 8], esi
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x424ca2
mov dword [ebp - 0x4c], esi
jmp 0x424c53
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov dword [esp + 4], ecx
mov edi, dword [ebp - 0x38]
mov eax, dword [ebx + 0xe4]
mov dword [esp + 8], edi
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x424e59
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x50], ecx
mov eax, dword [ecx + 0xec]
mov dword [ebp - 0x4c], eax
cdq
sub eax, dword [ebp - 0x3c]
sbb edx, dword [ebp - 0x38]
jge 0x424bee
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], esi
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x38]
sbb edx, esi
jge 0x424c06
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], eax
jmp 0x424c09
mov dword [ebp - 0x4c], esi
mov ecx, esi
mov ebx, esi
sub ecx, dword [ebp - 0x3c]
sbb ebx, dword [ebp - 0x38]
mov edx, 1
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0xe4]
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x424dbb
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0xe4]
call fcn.00425c30
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x10]
push esi
push esi
and byte [eax + 0x16d], 0xfd
push dword [ebp - 0x10]
call fcn.0043a6f0
add esp, 0xc
test eax, eax
jne 0x424d40
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0xe4]
call fcn.00425c30
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x44]
sub ecx, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x38]
sub ecx, eax
add dword [ebp - 0x44], ecx
lea edx, [ecx - 1]
mov dword [ebp - 0x40], edx
jmp 0x423d6d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x424d21
test byte [eax + 0x44], 2
je 0x424cf7
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x424ce5
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x424da1
test byte [edx + 0x44], 2
je 0x424d7c
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x424d6f
mov dword [edx + 4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x424e3a
test byte [eax + 0x44], 2
je 0x424e10
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x424dfe
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x424ed8
test byte [eax + 0x44], 2
je 0x424eae
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x424e9c
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x2c]
cmp dword [ebp - 0x44], 0
jl 0x424f0b
mov eax, dword [ebp - 0x44]
add eax, dword [ebx + 0x38]
jmp 0x424b1a
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebx + 0xec]
sub ecx, dword [ebx + 0xec]
cdq
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
sbb eax, edx
mov dword [ebp - 0x30], eax
jl 0x424f2f
mov eax, ecx
or eax, dword [ebp - 0x30]
jne 0x424f5d
xor edx, edx
mov dword [esp + 4], esi
mov eax, dword [ebx + 0xe4]
mov dword [esp + 8], esi
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x4250a0
mov dword [ebp - 0x50], esi
jmp 0x425004
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x38]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xe4]
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x4251f6
mov eax, dword [ebp - 0x10]
mov ecx, esi
mov edx, dword [eax + 0xec]
mov dword [ebp - 0x50], edx
sub edx, dword [ebp - 0x3c]
sbb ecx, dword [ebp - 0x38]
jge 0x424fa8
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], esi
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x38]
sbb ecx, esi
jge 0x424fc0
mov edx, dword [ebp - 0x50]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 0x50], edx
jmp 0x424fc3
mov dword [ebp - 0x50], esi
mov ecx, esi
mov ebx, esi
sub ecx, dword [ebp - 0x3c]
mov eax, dword [eax + 0xe4]
sbb ebx, dword [ebp - 0x38]
mov edx, 1
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x425158
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xe4]
call fcn.00425c30
mov eax, dword [ebp - 0x10]
push esi
push esi
and byte [eax + 0x16d], 0xfd
push dword [ebp - 0x10]
call fcn.0043a6f0
add esp, 0xc
test eax, eax
je 0x425084
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x42513e
test byte [edx + 0x44], 2
je 0x42505f
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0x64]
test edx, edx
je 0x425052
mov dword [edx + 4], esi
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x50]
mov edx, dword [ebx + 0x44]
neg edx
mov eax, dword [ebx + 0x38]
add edx, eax
sub ecx, edx
add eax, ecx
jmp 0x424b1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x42511f
test byte [eax + 0x44], 2
je 0x4250f5
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x4250e3
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4251d7
test byte [eax + 0x44], 2
je 0x4251ad
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x42519b
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x425275
test byte [eax + 0x44], 2
je 0x42524b
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x425239
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ebx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ebx
push eax
push dword [ebp - 0x20]
call fcn.004bb000
jmp 0x424127
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x425381
test byte [eax + 0x44], 2
je 0x425357
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x425345
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x42541f
test byte [eax + 0x44], 2
je 0x4253f5
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x4253e3
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4254bd
test byte [eax + 0x44], 2
je 0x425493
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x425481
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x42555b
test byte [eax + 0x44], 2
je 0x425531
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x42551f
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4255f9
test byte [eax + 0x44], 2
je 0x4255cf
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x4255bd
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
or byte [ebx + 0x172], 0x40
neg eax
jmp 0x42422b
mov eax, dword [ebx + 0xec]
neg eax
push eax
push ebx
call fcn.00443b10
add esp, 8
test eax, eax
je 0x4256a5
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xe4]
call fcn.00425c30
mov ebx, eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dword [esp + 4], esi
mov dword [esp + 8], esi
mov eax, dword [ecx + 0xe4]
call fcn.00425bd0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x4257a0
mov ecx, dword [ebp - 0x10]
lea edx, [ebp - 0x44]
push ecx
push dword [ecx + 0x140]
push esi
push esi
mov eax, dword [ecx + 0x90]
sub ebx, eax
push edx
push ebx
push dword [ecx + 0x38]
push dword [ecx + 0xe4]
call fcn.0043ba20
add esp, 0x20
test eax, eax
je 0x425702
jmp 0x4256d4
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x44]
push edx
push dword [edx + 0x140]
push esi
push esi
push eax
push dword [edx + 0xec]
push dword [edx + 0x38]
push dword [edx + 0xe4]
call fcn.0043ba20
add esp, 0x20
test eax, eax
je 0x42583e
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
add eax, dword [edx + 0x38]
mov dword [edx + 0x50], eax
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x90], 0
mov ebx, dword [ebp - 0x10]
or byte [ebx + 0x16d], 2
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x50]
jmp 0x4241df
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x425781
test byte [eax + 0x44], 2
je 0x425757
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x425745
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x42581f
test byte [eax + 0x44], 2
je 0x4257f5
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x4257e3
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4258bd
test byte [eax + 0x44], 2
je 0x425893
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x425881
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x42431c
mov eax, dword [ecx + 0xf8]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x10]
push 0
or byte [edx + 0x16d], 2
push dword [ebp - 0x10]
call fcn.00443b10
add esp, 8
test eax, eax
je 0x424327
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x42597f
test byte [eax + 0x44], 2
je 0x425955
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x425943
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x425a1d
test byte [eax + 0x44], 2
je 0x4259f3
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x4259e1
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x425abb
test byte [eax + 0x44], 2
je 0x425a91
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x425a7f
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x425b78
test byte [eax + 0x44], 2
je 0x425b4e
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x425b3c
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], esi
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.00434f50
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx edx, byte [ebx + 0x154]
mov dword [ebp - 0x14], 0x80000000
mov dword [ebp - 0x18], 0xffffffff
jmp 0x423a0c
push ecx
push eax
push eax
push 0
call fcn.0041de90
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret